自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10個C#編程和Visual Studio使用技巧

原創(chuàng)
開發(fā) 后端
C#是一門偉大的編程語言,與C++和Java相比,它的語法更簡單,相對來說更好入門。Visual Studio作為.Net平臺上最重量級的IDE,也通過不斷的更新為開發(fā)者帶來更出色的開發(fā)體驗(yàn)。本文將介紹10個C#編程和Visual Studio IDE使用技巧。

C#是一門偉大的編程語言,與C++和Java相比,它的語法更簡單,相對來說更好入門,經(jīng)歷10年的發(fā)展,C#已經(jīng)成為編程語言領(lǐng)域強(qiáng)有力的競爭者,每一年我們都能看到它的進(jìn)步,每一個新版本都加入了許多新特性,總的來說,作為一門編程語言,它沒有讓C#開發(fā)者社區(qū)失望。Visual Studio亦是如此,新版本的Visual Studio 2010所帶來的新特性也讓開發(fā)者們興奮不已。本文下篇請點(diǎn)擊這里

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

1、Environment.Newline

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

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

2、命名空間別名

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

  1. using System.Web.UI.WebControls;  
  2.   using MyGenericLibrary.UserControls;  
  3.     
  4.    /* Assuming that you had a Text Box control in both the namespace,  
  5.       you would have to fully qualify the class object with the 
  6. complete namespace.To avoid that, you can use namespace alias. 
  7. Change as below */  
  8.      
  9.   using System.Web.UI.WebControls;  
  10.   using mc = MyGenericLibrary.UserControls;  
  11.     
  12.   /*and then use, /*  
  13.   mc.TextBox textbox = new mc.TextBox(); 

3、DebuggerBrowsable屬性

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

  1. public class MyClass  
  2.   {  
  3.       private string _id;  
  4.          
  5.       public string InternalID  
  6.       {  
  7.             get { return _id; }  
  8.             set { _id = value; }  
  9.       }  
  10.   } 

下面是使之隱藏的代碼:

  1. [DebuggerBrowsable(DebuggerBrowsableState.Never)]  
  2.   public class MyClass  
  3.   {  
  4.       private string _id;  
  5.          
  6.       public string InternalID  
  7.       {  
  8.             get { return _id; }  
  9.             set { _id = value; }  
  10.       }  
  11.   } 

4、DebuggerDisplay屬性

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

  1. public class MyClass  
  2.   {  
  3.      [DebuggerDisplay("Value = {myVariable}")]  
  4.       public string myVariable = "mydisplay";  
  5.   } 

5、為項(xiàng)目創(chuàng)建虛擬目錄

你可以強(qiáng)制每個開發(fā)人員在本地為項(xiàng)目創(chuàng)建一個同名的虛擬目錄,這個來自Visual Studio IDE的技巧將有助于代碼在多個C#開發(fā)人員的電腦之間同步。在項(xiàng)目名稱上點(diǎn)擊右鍵,選擇“屬性”,在“Web”選項(xiàng)卡中,選中“使用本地IIS Web服務(wù)器”選項(xiàng),然后為其指定一個虛擬路徑,如下圖所示。

設(shè)置項(xiàng)目的本地虛擬目錄路徑 
圖 1 設(shè)置項(xiàng)目的本地虛擬目錄路徑

這樣設(shè)置后,所有使用該項(xiàng)目文件的開發(fā)人員都會收到一個要求,在本地機(jī)器上創(chuàng)建一個同名的虛擬目錄。

6、改變項(xiàng)目平臺

你可以改變應(yīng)用程序的生成目標(biāo)平臺,這里的平臺指的是32位和64位環(huán)境,在項(xiàng)目名稱上點(diǎn)擊右鍵,選擇“屬性”,在“Build”選項(xiàng)卡中,選擇需要的目標(biāo)平臺,如下圖所示。

修改項(xiàng)目的目標(biāo)平臺 
圖 2 修改項(xiàng)目的目標(biāo)平臺

7、代碼定義窗口

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

  1. if (e.Item.ItemType == ListItemType.Item )  
  2.   {  
  3.       //Your code here.  
  4.   } 

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

代碼定義窗口 
圖 3 代碼定義窗口

8、Null合并運(yùn)算符

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

  1. int myExpectedValueIfNull = 10;  
  2. int expectedValue = myfunction() ?? myExpectedValueIfNull 

9、using語句快捷鍵

按下Ctrl+.會彈出一列可用的using語句,使用箭頭鍵進(jìn)行移動,按下回車鍵確認(rèn)選擇,如下圖所示。

在代碼編輯器中快速調(diào)出using語句 
圖 4 在代碼編輯器中快速調(diào)出using語句

10、尋找恐怖的數(shù)據(jù)集合并錯誤根本原因

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

  1. StringBuilder error Messages = new StringBuilder();  
  2.    try  
  3.    {  
  4.              DataSet dataSet1 = populateDataSet(1);  
  5.     DataSet dataSet2 = populateDataSet(2);  
  6.      
  7.    dataset1.Merge(dataset2);  
  8.                        }  
  9.                        catch (System.Data.DataException de)  
  10.                        {  
  11.       foreach (DataTable myTable in dataSet1.Tables)  
  12.       {  
  13.          foreach (DataRow myRow in myTable.GetErrors())  
  14.          {  
  15.             foreach (DataColumn myColumn in myRow.GetColumnsInError())  
  16.             {  
  17.                 //loop through each column in the row that has caused the error  
  18.                 //during the bind and show it.  
  19.                  error Messages .Append(string.Format(  
  20.                   "Merge failed due to  : {0}", myColumn.GetColumnError(myColumn)));  
  21.             }  
  22.          }  
  23.       }  
  24.                       } 

小結(jié)

希望你能靈活運(yùn)用這些C#編程和Visual Studio技巧,享受寫代碼的樂趣,如果你有其它技巧愿意和大家分享,歡迎在本文后面發(fā)表評論。

【編輯推薦】 

  1. Visual Studio自定義調(diào)整窗體的兩個小技巧
  2. Visual Studio 2010中關(guān)于C#的幾點(diǎn)改進(jìn)
  3. Visual Studio 2010及.Net 4新功能一覽
  4. 提高效率 用好Visual Studio 2010自定義代碼段

原文作者:Memphisto                        黃永兵 譯

原文地址:http://codeguru.earthweb.com/csharp/csharp/cs_misc/article.php/c17967/10-C-Programming-and-Microsoft-Visual-Studio-Tips-and-Tricks.htm

責(zé)任編輯:王曉東 來源: 51CTO.com
相關(guān)推薦

2010-11-10 09:01:50

Visual Stud

2010-11-30 09:06:28

Visual Stud

2009-12-16 15:44:20

Visual Stud

2009-09-02 16:21:17

Visual BasiC#語言

2009-08-24 17:50:39

C#項(xiàng)目案例

2009-12-16 14:51:27

Visual Stud

2009-08-06 17:15:34

C#開發(fā)和使用

2020-07-09 15:10:20

開發(fā)技能代碼

2009-12-04 14:40:43

Visual Stud

2009-08-19 16:50:32

Visual C#C#語言特性

2009-08-20 11:03:34

Visual C#使用

2009-08-03 16:22:58

C#編程技巧

2009-12-03 13:47:13

Microsoft V

2009-12-16 16:57:03

Visual Stud

2011-04-02 08:39:27

Visual Stud

2023-10-12 08:41:36

C# 開發(fā)工具

2022-02-12 12:26:45

C#.NET 6微軟

2009-08-12 14:01:17

C# Excel編程技

2009-08-07 10:53:59

Visual C#Excel

2009-07-02 10:07:24

C# 4.0的動態(tài)類型Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號