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 使用下划线忽略使用的变量的原因分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
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
随机推荐
- 保存的js无法执行的解决办法 原创
- 详解Servlet之过滤器(Filter)
- java基础(System.err和System.out)详解
- 谈谈java的concurrent用法
- C++实现String类实例代码
- ASP.NET MVC中的AJAX应用
- Yii2分页的使用及其扩展方法详解
- YII2框架中excel表格导出的方法详解
- ubuntu下搭建php开发环境(nginx+(cgi)php5fpm+memcached+xdebug)
- MySQL 5.7双主同步部分表的实现过程详解
- Python数组遍历的简单实现方法小结
- 不用模板只用ASP+FSO生成静态HTML页的一个方法
- javascript作用域链(Scope Chain)用法实例解析
- JQuery EasyUI 日期控件如何控制日期选择区间
- jquery实现metro效果示例代码
- Android开发应用第一步 安装及配置模拟器Genymotion
- MySQL入门(五) MySQL中的索引详讲
- vscode中eslint插件的配置(prettier配置无效)
- VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
- Java中字符数组和字符串与StringBuilder和字符串转换的讲解