引言
visual studio号称宇宙第一IDE,每一次的版本更新都会附加好多的新特性和语法糖。咱们不可能对全部的特性都了解,可是一些经常使用的须要记住。本文主要内容就是以一些经常使用快捷键、特性、语法糖的说明 。c++
快捷键
列出一些使用VS过程当中最经常使用的快捷键c#
Ctrl+E,D(ctrl+k,d)编码
格式化所有代码,让你的代码瞬间整洁起来。url
注释
Ctrl+K,C 注释选定内容.net
Ctrl+K,U 取消选定注释内容插件
折叠文档内容
CTRL + M, CTRL + O 折叠全部方法调试
CTRL + M, CTRL + P 展开全部方法code
大小写转换
Ctrl+U: 所有变为小写htm
Ctrl+Shift+U: 所有变为大写对象
跳转指定行
Ctrl+G
回退到光标上一次的位置
ctrl+减号 很是实用
选中文本
SHIFT + END 选择至行尾
SHIFT + HOME 选择至行开始处
Ctrl+鼠标左键 选中一个矩阵文本 实用
F12相关
F12=Ctrl+鼠标左击 转到所调用过程或变量的定义
Alt+F12 列出全部查找结果,在不页面的状况下查看引用的内容
shift+f12 查找全部引用
调试相关
F9 启用/关闭断点
Ctrl+Shift+F9 删除所有断点
F10 逐过程 F11 逐语句
Ctrl+F10 运行到光标处 实用
窗口相关
Ctrl+W,B 书签窗口
书签 Bookmark 书签很是好用,若是有几千行代码,在寻找代码的时候添加书签找起来要快不少
Ctrl+W,E 错误列表
Ctrl+W,S 解决方案管理器
特性
元组
使用元组须要Nuget安装包 System.ValueTuple
//使用匿名获取 var model = GetFullName(); Console.WriteLine(model.name); Console.WriteLine(model.age); //自定义返回参数变量 (string name, string age) = GetFullName(); Console.WriteLine(name); Console.WriteLine(age);
C#中 ??、 ?、 ?: 、?.
[?] 可空类型修饰符
这个就不用多作说明了
[?:] 三元(运算符)表达
x?y:z
代表假如表达式x为true,则回来y;假如x为false,则回来z
[??] 空兼并运算符(??)
a??b当a为null时则回来b,a不为null时则回来a自身。 空兼并运算符为右结合运算符,即操做时从右向左进行组合的。 如,“a??b??c”的方式按“a??(b??c)”计算。
[?.] NULL查看运算符
int? age=list?.FirstOrDefault()?.Age; 语法解释:假如对象为NULL,则不进行后面的获取成员的运算,直接回来NULL,不然赶回Age
Pattern Matching(匹配模式)
在C#7.0中,引入了匹配模式的玩法,先举个老栗子.一个object类型,咱们想判断他是否为int若是是int咱们就加10,而后输出,须要以下:
object a = 1; if (a is int) //is判断 { int b = (int)a; //拆 int d = b+10; //加10 Console.WriteLine(d); //输出 }
那么在C#7.0中,首先就是对is的一个小扩展,咱们只须要这样写就好了,以下:
object a = 1; if (a is int c) //这里,判断为int后就直接赋值给c { int d = c + 10; Console.WriteLine(d); }
若是有多种类型须要判断怎么办,使用switch
static dynamic Add(object a) { dynamic data; switch (a) { case int b: data=b++; break; case string c: data= c + "aaa"; break; default: data = null; break; } return data; } static void main(){ object a = 1; var data= Add(a); Console.WriteLine(data.GetType()); Console.WriteLine(data); }
推荐安装插件
CodeMaid
CodeMaid是一个开源的Visual Studio扩展,用于清理和简化c#、c++、F#、Vb等语言的编码。