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

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

总结

以上所述是小编给大家介绍的C# 7.0 使用下划线忽略使用的变量的原因分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • C#把整个文件内容读入字符串变量的方法

    本文实例讲述了C#把整个文件内容读入字符串变量的方法.分享给大家供大家参考.具体实现方法如下: using System; namespace PlayingAround { class ReadAll { public static void Main(string[] args) { string contents = System.IO.File.ReadAllText(@"C:\t1"); Console.Out.WriteLine("contents = "

  • C# WinForm捕获全局变量异常 SamWang解决方法

    许多小公司的项目都缺少异常处理模块,我们也是.经常会出现这种情况,用户在UI界面操作,就直接跳出堆栈调用的异常信息对话框,老板看到那叫一个火啊!你们的代码怎么天天出现乱码.呵呵!这就是没有异常捕获处理导致的,现在许多人写代码都没意识处理异常,只要实现功能就好,我的许多组员也是如此. 项目刚接手,所以打算做一个异常全局捕获,统一处理的模式,采用具体详细信息的对话框提醒与日志文件保存方式.以下是根据网上找的C#winform全局异常捕获做了点修改.(等项目异常处理全部完成后,将心得体会做个记录,此处

  • 使用@符号让C#中的保留字做变量名的方法详解

    在c和c++中,我们知道没办法起一个变量名叫int,因为这是C/C++保留的关键字,起这么一个变量名没办法区分到底是int类型还是int变量.事实上在C#中也有这么一条规矩,就是不能起一个变量名是保留的关键字.如下图: 在C/C++中,我们是无能为力的,你必须起一个不叫int的,比如加个下划线..当然,C#中也可以这么干. @ 今天阅读<C# 3.0 in a Nutshell, 3rd Edition>才知道,原来还有一种办法就是加@符号(看了@符号的作用又多了一个): 复制代码 代码如下:

  • C#中属性和成员变量的区别说明

    一个类,有时候搞不清楚到底用成员变量还是属性. 如: 成员变量 public   string   Name; 或者用属性 private   string   name public   string   Name{         get         {                 return   name;         }         set         {                 name   =   value;         } } 属性与成员变量类似

  • C#类中属性与成员变量的使用小结

    属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已. 使用中注意问题:1.属性名和变量名不能相同, 2.一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些 3.属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法: 复制代码 代码如下: public int b //定义一个属性b  {      get   {    return b;   }   set   {    b = val

  • 配置C#的系统环境变量的方法

    在使用任何 .NET SDK 命令行工具(包括 C# 编译器)之前,需要配置开发计算机以识别它们的存在.最简单的方法是使用 Start | All Programs | Visual Studio 2005 | Visual Studio Tools 菜单选项,启动预配置的 Visual Studio 命令提示.这一特定的控制台能够自动初始化必要的环境变量,而无须您执行任何操作.(Visual Studio .NET 2003 用户需要启动他们各自的命令提示). 注 如果您没有 Visual S

  • C#中static静态变量的用法实例

    本文实例讲述了C#中static静态变量的用法.分享给大家供大家参考.具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: ① .该变量在全局数据区分配内存. ② .初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部

  • C# 静态变量与静态方法实例研究

    程序如下: 复制代码 代码如下: public static string 英汉(string english,翻译结果 一个或多个) { string 英汉辞典 = Settings.Default.辞典所在目录+"haou_dict.xml"; try { if (File.Exists(英汉辞典)) { XDocument dictionary = XDocument.Load(英汉辞典); var query = from p in dictionary.Descendants

  • 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,

  • python 下划线的多种应用场景总结

    目前常见的用法有五种: _用于临时变量 var_用于解决命名冲突问题 _var用于保护变量 __var用于私有变量 __var__用于魔术方法 下面我们具体看看这些下划线应用场景. 一._用于临时变量 单下划线一般用于表示临时变量,在REPL.for循环和元组拆包等场景中比较常见. 1.1 REPL 单下划线在REPL中关联的是上一次计算的非None结果. >>> 1+1 2 >>> _ 2 >>> a=2+2 >>> _ 2 1+1

  • 初学者快看,Python下划线的五个作用介绍

    目录 前言 1.用在 Python 解释器,表示上一次的执行结果 2.代码中一个独立的下划线,表示这个变量不重要 3.双下划线开头和结尾的方法,是魔术方法 4.作为变量名中间的一部分 5.作为数字中间的一部分,更易读 总结 前言 初学者看到 Python 中的下划线 _ 时可能会有些懵圈,不知道这个到底是干什么用的,今天就来盘点一下 Python 中间的下划线有哪些用处.以后看到下划线时就可以对号入座了. 1.用在 Python 解释器,表示上一次的执行结果 即使不把 Python 用于编程,也

  • 浅谈python 里面的单下划线与双下划线的区别

    在学习Python的时候,很多人都不理解为什么在方法(method)前面会加好几个下划线,有时甚至两边都会加,比如像 __this__ 这种.在我看到上面的文章之前,我一直以为Python中这些下划线的作用就像Golang中方法/函数的大小写一样,或是一些其他语言中的 private . public 的作用一样,但仔细深究,这不全是Python这样设计的初衷.下面我们具体分析. 主要存在四种命名 1. object # 公用方法 2. __object__ # 内建方法,用户不要这样定义 3.

  • python 函数、变量中单下划线和双下划线的区别详解

    目录 一._func 单下划线开头 --口头私有变量 1.1.在模块中使用单下划线开头 1.2.在类中使用单下划线开头 二.__func 双下划线开头的函数 --私有变量 2.1.在模块中使用双下划线开头 2.2.在类中使用双下划线开头 三.前后都有双下划线 --特殊变量 一._func 单下划线开头 --口头私有变量 1.1.在模块中使用单下划线开头 在Python中,通过单下划线_来实现模块级别的私有化,变量除外.一般约定以单下划线开头的函数为模块私有的,也就是说from moduleNam

  • 利用CSS,链接下划线也玩自定义

    原文链接:CSS Design: Custom Underlines 由 A List Apart 杂志及作者授权翻译.(Translated with the permission of A List Apart Magazine and the author[s].) 说明:文章中"[补充]"内容系译者所补充添加(来自 CSS 2.0 中文手册),目的是方便读者理解相关内容. 虽然网页设计师通常有大量的方法控制文档如何呈现,但是基本的CSS不能为页面中链接下方的下划线样式提供很多选

  • PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例

    本文实例讲述了PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法.分享给大家供大家参考,具体如下: 1.如何在php中把驼峰样式的字符串转换成下划线样式的字符串.例:输入是FooBar的话,输出则是foo_bar 以下是用正则的方式去完成,既然用到正则,方法肯定就不只一种,我们看下下面的方式 echo strtolower(preg_replace('/(?<=[a-z])([A-Z])/', '_$1', 'fooBar')); //output:foo_bar echo &quo

  • Go 中的空白标识符下划线

    目录 1.什么是空白标识符 2.未使用的赋值变量 3.未知的结构体 4.未使用的包 5.总结 与 Python 一样,Go 语言也有空白标识符. 1.什么是空白标识符 空白标识符是未使用的值的占位符.它由下划线(_)表示.由于空白标识符没有名称,因此它们也被称为匿名占位符. 在 Go 语言中, 不允许声明未使用的变量或导入语句.也就是说,我们无法声明变量并将其留下未使用.同样,如果您导入一个包,那么也必须使用它. 这个时候就需要一个空白标识符. 2.未使用的赋值变量 如果 Go 中的函数返回多个

  • jquery鼠标悬停导航下划线滑出效果

    本文实例为大家分享了jquery鼠标悬停导航下划线滑出效果的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <head> <meta charset="utf-8"> <title>jquery鼠标悬停导航下划线滑出效果</title> <style> *{ margin:0; padding:0; list-style:none;} img{ border:0;} .

  • jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码

    本文实例讲述了jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码.分享给大家供大家参考.具体如下: 这里介绍的是一款黑红带渐变的网站下滑导航菜单,基于jquery实现的下滑线导航菜单,鼠标经过主菜单的时候,下滑线就会自动跟向哪里,如果该菜单有两级子菜单,则同样会显示下滑菜单,带渐变效果.菜单操作很灵敏,使用有自定义的封装插件SuperSlide.2.1.js,所在使用时请自行下载这个JS插件. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015

随机推荐