引言
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等語言的編碼。