专栏首页林德熙的博客C# 7.0 使用下划线忽略使用的变量

C# 7.0 使用下划线忽略使用的变量

在 C# 7.0 支持使用下划线忽略不使用的变量

这个方法用的比较多的是在 out 参数,如使用 int 的尝试转换函数

           var str = "123";
            if (int.TryParse(str, out var _))
            {
                var n = _;
            }

编译是不通过的,会出现 error CS0103: The name '_' does not exist in the current context 上面的代码还可以去掉 var 代码

            var str = "123";
            if (int.TryParse(str, out _))
            {
                //var n = _; 
            }

在 ValueTuple 也是很多的使用

            var db = ("林德熙", "逗比");
            var (lindexi, _) = db;

上面代码表示只拿出 lindexi 而 逗比是不拿出来的,虽然使用了下划线,但是如果在下面要使用下划线是无法编译通过

从这个特性可以推出在辣么大的使用,请看代码

            Action<int> f = _ =>
            {
                var n = 2;
            };

这样写表示不理会第一个参数,虽然这样写和下面代码是不等价的

            Action<int> f = delegate
            {
                var n = 2;
            };

但是从约定上,使用下划线表示忽略的代码


本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/C-7.0-%E4%BD%BF%E7%94%A8%E4%B8%8B%E5%88%92%E7%BA%BF%E5%BF%BD%E7%95%A5%E4%BD%BF%E7%94%A8%E7%9A%84%E5%8F%98%E9%87%8F.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C# 性能分析 反射 VS 配置文件 VS 预编译

    本文分析在 C# 中使用反射和配置文件和预编译做注入的性能,本文的数据是为预编译框架,开发高性能应用 - 课程 - 微软技术暨生态大会 2018 - walte...

    林德熙
  • WPF 获取下载内容长度

    在 WPF 可以通过 System.Net 的类进行下载资源,如下载一张图片 http://image.acmx.xyz/lindexi%2F201811620...

    林德熙
  • WPF 获取本机所有字体拿到每个字符的宽度和高度

    本文主要采用 GlyphTypeface 类尝试获取每个字符的宽度和高度的值,尽管这个方法和最终 WPF 布局使用的文本的宽度和高度是不相同的,但是依然可以作为...

    林德熙
  • 探索C#之微型MapReduce

    蘑菇先生
  • flex+php截图Demo

    一、直接将byteArray转为bitmap通过loader(flash.display.Loader)显示在舞台上;

    meteoric
  • 我是如何通过网络摄像头分析wifi密码的

    看到 exploit-db.com 中报了一个《Netwave IP Camera - Password Disclosure》漏洞, 这个漏洞包含了wifi密...

    C4rpeDime
  • 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

      很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI。   NPOI可以生成没有安装在您的服务器上的...

    彭泽0902
  • 设计模式(三) | 为别人做嫁衣---代理模式

    谭庆波
  • javascript正则表达式

    正则表达式一直是一个令人头疼但却又是十分重要的一个东西。熟练的使用正则表达式可以让你的工作事半功倍。接下来,一起来看看正则表达式是什么吧!

    踏浪
  • .NET Core使用微软AI认知服务识别文字语言

    识别一段文字的语言有多种途径,在这个以AI为热点的时代,我们也可以给自己的应用强行加上AI,然后就能加上“智慧”的名字“自主研发成功”后去吹牛逼。今天我带大家来...

    Edi Wang

扫码关注云+社区

领取腾讯云代金券