首頁  >  文章  >  後端開發  >  C#程式設計和Visual Studio使用技巧(上)

C#程式設計和Visual Studio使用技巧(上)

高洛峰
高洛峰原創
2017-02-07 10:59:531520瀏覽

對開場白沒興趣?好吧,我們直接切入正題,以下介紹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#開發人員的電腦之間同步。在專案名稱上點選右鍵,選擇“屬性”,在“網路”標籤中,選取“使用本機IIS Web伺服器”選項,然後為其指定一個虛擬路徑。

這樣設定後,所有使用該專案檔案的開發人員都會收到一個要求,在本機上建立一個同名的虛擬目錄。

6、改變專案平台

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

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

7、程式碼定義視窗

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

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

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

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

圖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技巧,享受寫程式碼的樂趣,大家多多交流,一起進步

更多C程式設計和Visual Studio(T文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn