引言
visual studio号称宇宙第一IDE,每一次的版本更新都会附加好多的新特性和语法糖。我们不可能对所有的特性都了解,但是一些常用的需要记住。本文主要内容就是以一些常用快捷键、特性、语法糖的说明 。
快捷键
列出一些使用VS过程中最常用的快捷键
Ctrl+E,D(ctrl+k,d)
格式化全部代码,让你的代码瞬间整洁起来。
注释
Ctrl+K,C 注释选定内容
Ctrl+K,U 取消选定注释内容
折叠文档内容
CTRL + M, CTRL + O 折叠所有方法
CTRL + M, CTRL + P 展开所有方法
大小写转换
Ctrl+U: 全部变为小写
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等语言的编码。