亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#編程和Visual Studio使用技巧(上)

2020-01-24 01:25:16
字體:
來源:轉載
供稿:網友

對開場白沒興趣?好吧,我們直接切入正題,下面介紹10個C#編程和Visual Studio IDE使用技巧。

1、Environment.Newline

你是否知道這個屬性是與平臺無關的?允許你根據每個平臺輸出新的換行字符。

Console.WriteLine("My Tips On ,{0}C#", Environment.NewLine); 

2、命名空間別名

你是否知道可以使用更短的別名代替長的命名空間?你是否遇到過需要限制完整的命名空間以避免產生歧義?看下面的代碼示例,它是使用擴展的.NET Framework控件創建的一個通用庫。

using System.Web.UI.WebControls;  using MyGenericLibrary.UserControls;     /* Assuming that you had a Text Box control in both the namespace,    you would have to fully qualify the class object with the    complete namespace.To avoid that, you can use namespace alias.    Change as below */     using System.Web.UI.WebControls;  using mc = MyGenericLibrary.UserControls;    /*and then use, /*  mc.TextBox textbox = new mc.TextBox(); 

3、DebuggerBrowsable屬性

每個C#開發人員應該都有過程序調試的經歷,這個屬性在調試期間控制對象行為的能力非常強大,在調試過程中它在一個小提示窗口中顯示對象,它可以用于隱藏私有成員或在調試窗口中顯示也是多余的成員,例如,當你調試類對象時,在調試窗口中你可以看到私有變量,這個時候你就可以使用[DebuggerBrowsable(DebuggerBrowsableState.Never)]屬性來隱藏它們,下面是可見的代碼。

public class MyClass  {    private string _id;         public string InternalID    {       get { return _id; }       set { _id = value; }    }  } 

下面是使之隱藏的代碼:

[DebuggerBrowsable(DebuggerBrowsableState.Never)]  public class MyClass  {    private string _id;         public string InternalID    {       get { return _id; }       set { _id = value; }    }  } 

4、DebuggerDisplay屬性

這個屬性可讓具有可讀描述的變量對象顯示出來,它有助于提供團隊其它成員未來閱讀代碼的效率,它的用法也是非常簡單的,下面的代碼示例顯示了變量的值。

public class MyClass  {    [DebuggerDisplay("Value = {myVariable}")]    public string myVariable = "mydisplay";  } 

5、為項目創建虛擬目錄

你可以強制每個開發人員在本地為項目創建一個同名的虛擬目錄,這個來自Visual Studio IDE的技巧將有助于代碼在多個C#開發人員的電腦之間同步。在項目名稱上點擊右鍵,選擇“屬性”,在“Web”選項卡中,選中“使用本地IIS Web服務器”選項,然后為其指定一個虛擬路徑。

這樣設置后,所有使用該項目文件的開發人員都會收到一個要求,在本地機器上創建一個同名的虛擬目錄。

6、改變項目平臺

你可以改變應用程序的生成目標平臺,這里的平臺指的是32位和64位環境,在項目名稱上點擊右鍵,選擇“屬性”,在“Build”選項卡中,選擇需要的目標平臺,如下圖所示。

 

圖1 修改項目的目標平臺

7、代碼定義窗口

這個窗口允許你跳轉到對象的定義,你可以按F12鍵快速跳轉到對象的定義位置,在代碼編輯器的任意對象上試試這個功能,相信一定不會讓你失望的。此外,還有一個專門的代碼定義窗口,當你按照Ctrl+W,D組合鍵時就會彈出一個代碼定義窗口。

if (e.Item.ItemType == ListItemType.Item )  {    //Your code here.  } 

如果你將光標停留在ListItemType上面,然后按下組合鍵,你將會看到如下圖所示的一個窗口。

 

圖2  代碼定義窗口

8、Null合并運算符

Null合并運算符允許你以很簡潔的方式比較空值,它使用兩個問號表示。例如,myfunction返回的值可能是一個空的整數值,在這種情況下,你可以使用合并運算符快速檢查它是否為空,然后返回一個代替值。

int myExpectedValueIfNull = 10; int expectedValue = myfunction() ?? myExpectedValueIfNull 

9、using語句快捷鍵

按下Ctrl+.會彈出一列可用的using語句,使用箭頭鍵進行移動,按下回車鍵確認選擇。

10、尋找恐怖的數據集合并錯誤根本原因

你是否遇到過無法找出數據集合并錯誤的原因?現在有辦法了,使用try-catch將你的代碼包圍起來,最好是在異常處理塊中觀察特定代碼的輸出,可以準確捕捉到合并失敗的原因。

StringBuilder error Messages = new StringBuilder();   try   {        DataSet dataSet1 = populateDataSet(1);   DataSet dataSet2 = populateDataSet(2);      dataset1.Merge(dataset2);             }             catch (System.Data.DataException de)             {    foreach (DataTable myTable in dataSet1.Tables)    {      foreach (DataRow myRow in myTable.GetErrors())      {       foreach (DataColumn myColumn in myRow.GetColumnsInError())       {         //loop through each column in the row that has caused the error         //during the bind and show it.          error Messages .Append(string.Format(          "Merge failed due to : {0}", myColumn.GetColumnError(myColumn)));       }      }    }            } 

小結

希望你能靈活運用這些C#編程和Visual Studio技巧,享受寫代碼的樂趣,大家多多交流,一起進步

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠色狠狠色综合日日小说| 中文字幕亚洲一区| 国产精品视频自在线| 国产在线观看91精品一区| 97超级碰在线看视频免费在线看| 精品日本高清在线播放| 欧美精品性视频| 欧美性生交大片免费| 91视频-88av| 欧美电影免费看| 日本精品一区二区三区在线| 国产大片精品免费永久看nba| 亚洲第一视频在线观看| 久久久在线观看| 欧美怡春院一区二区三区| 69av成年福利视频| 国产视频丨精品|在线观看| 久久免费国产精品1| 国产丝袜一区二区三区免费视频| 精品国产91久久久久久老师| 色婷婷av一区二区三区久久| 欧美电影免费观看电视剧大全| 欧美在线免费视频| 69国产精品成人在线播放| 国产主播欧美精品| 亚洲国产另类久久精品| 国产成人aa精品一区在线播放| 97国产在线观看| 超碰91人人草人人干| 久久久女人电视剧免费播放下载| 4438全国亚洲精品在线观看视频| 亚洲欧美日韩网| 欧美国产日本高清在线| 国产精品久久久久久久久久小说| 欧美精品福利在线| 欧美巨猛xxxx猛交黑人97人| 亚洲人成在线观| 亚洲国产精品电影在线观看| 欧亚精品在线观看| 91九色精品视频| 97人人爽人人喊人人模波多| 日本一欧美一欧美一亚洲视频| 91亚洲精品一区二区| 亚洲成人黄色在线| 综合av色偷偷网| 另类专区欧美制服同性| 国产精品久久久久91| 国产成人精品视| 爱福利视频一区| 国产精品久久久久秋霞鲁丝| 日韩成人久久久| 日韩电影免费观看中文字幕| 欧美日韩国产丝袜另类| 伊人亚洲福利一区二区三区| 国产日韩精品在线观看| 国产视频精品一区二区三区| 亚洲午夜女主播在线直播| 日韩中文字幕网址| 午夜精品理论片| 中文字幕国产亚洲| 亚洲女同精品视频| 国产成人av在线| 国产精品久久久久一区二区| 久久免费视频观看| 欧美成人免费在线视频| 久久香蕉频线观| 国产一区二区三区视频免费| 亚洲女人初尝黑人巨大| 亚洲精品乱码久久久久久按摩观| 精品久久久久久亚洲国产300| 亚洲性夜色噜噜噜7777| 亚洲成人aaa| 精品视频中文字幕| 亚洲永久在线观看| 韩国v欧美v日本v亚洲| 日韩欧美aaa| 国产精品美女主播在线观看纯欲| 亚洲自拍偷拍视频| 久久人人爽人人爽人人片av高请| 中文字幕日韩在线播放| 日韩高清电影好看的电视剧电影| 欧洲精品毛片网站| 国产精品丝袜白浆摸在线| 91中文在线观看| 国内精品久久久久久中文字幕| 日韩三级影视基地| 日韩精品中文字幕久久臀| 亚洲综合色av| 亚洲香蕉伊综合在人在线视看| 欧美电影在线观看| 精品动漫一区二区三区| 欧美专区在线观看| 亚洲欧美国内爽妇网| 国产一区二区三区直播精品电影| 揄拍成人国产精品视频| 91av视频在线播放| 国产精品678| 亚洲成人激情小说| 日韩在线视频一区| 亚洲丝袜在线视频| 国产伊人精品在线| 国产丝袜一区二区三区| 国产91在线高潮白浆在线观看| 中文字幕日韩免费视频| 97婷婷涩涩精品一区| 色先锋资源久久综合5566| 欧美性猛交xxxx乱大交3| 91精品国产综合久久男男| 欧美日韩一区二区免费视频| 88国产精品欧美一区二区三区| 成人两性免费视频| 日韩电视剧免费观看网站| 国产亚洲欧洲黄色| 在线视频欧美性高潮| 成人av在线亚洲| 欧美在线xxx| 日韩av电影中文字幕| 亚洲欧美日韩中文在线| 亚洲精品99久久久久| 日韩av一区二区在线观看| 日韩精品丝袜在线| 久久久999国产| 亚洲在线观看视频网站| 久久精品最新地址| 欧美大奶子在线| 国产欧美一区二区三区在线| 欧美在线视频网站| 亚洲影视九九影院在线观看| 日韩av有码在线| 国产午夜精品美女视频明星a级| 欧美一级淫片丝袜脚交| 狠狠色香婷婷久久亚洲精品| 欧美视频裸体精品| 97精品国产97久久久久久春色| 国产精品久久久久久av下载红粉| 国产一区二区欧美日韩| 在线不卡国产精品| 日韩欧美精品在线观看| 国产福利精品在线| 久久久久久12| 日韩av高清不卡| 国产精品精品久久久| 日韩女优人人人人射在线视频| 国产成人一区二区在线| 中文字幕一区日韩电影| 欧美国产高跟鞋裸体秀xxxhd| 国产精品亚洲аv天堂网| 亚洲最大的av网站| 日韩免费av片在线观看| 国产成人+综合亚洲+天堂| 国产亚洲人成a一在线v站| 国产精品视频久久| 亚洲精品久久久久久下一站| 亚洲天堂网在线观看| 57pao成人永久免费视频| 黄色91在线观看| 国产精品久久久久久久一区探花| 日本久久精品视频| 国语自产精品视频在线看| 亚洲丝袜在线视频| 欧美香蕉大胸在线视频观看| 日韩的一区二区| 亚洲精品综合久久中文字幕| 亚洲mm色国产网站|