title author date CreateTime categories
C# 7.0 使用下划线忽略使用的变量
lindexi
2018-10-31 14:4:9 +0800
2018-10-22 15:1:26 +0800
C#

在 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;
};

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

最新文章

  1. Angularjs select的使用
  2. prototype.js简介
  3. WCF Routing 服务
  4. C#----操作应用程序配置文件App.config
  5. MySQL Python教程(4)
  6. HUST 1010 The Minimum Length(KMP,最短循环节点,即i-Next[i])
  7. ThinkPHP技巧
  8. 【转载】MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法
  9. BZOJ3105: [cqoi2013]新Nim游戏
  10. spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二)
  11. jquery css3 手机菜单动画综合版
  12. javascript中的__proto__和prototype
  13. 加载进度圈,带遮罩层(jquery)
  14. 大数据技术生态圈形象比喻(Hadoop、Hive、Spark 关系)
  15. macOS实现视频转音频以及音频拼接
  16. 个人简历html
  17. navicat 定时备份
  18. vue打包以及在Apache环境下的配置
  19. 如何理解“Unix 里一切都是文件”这句话-在 UNIX 中,一切都是字节流
  20. BZOJ4737 组合数问题(卢卡斯定理+数位dp)

热门文章

  1. ac与ap同步分析
  2. Duilib中各个类的简单介绍
  3. golang中使用gorm连接mysql操作
  4. UML之类图、时序图、用例图 粗略版介绍
  5. 1.RCC of STM32F103
  6. 旋转矩形碰撞检测 OBB方向包围盒算法
  7. [AHOI2014/JSOI2014]骑士游戏
  8. Startup里面的一些用法
  9. UMP系统架构 Mnesia
  10. Python基础知识之2——字典