生活随笔
收集整理的這篇文章主要介紹了
10个C#编程和Visual Studio使用技巧
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
10個C#編程和Visual Studio使用技巧 http://developer.51cto.com ?2010-09-28 08:52 ?黃永兵 譯 ?51CTO.com ?我要評論(1 ) C#是一門偉大的編程語言,與C++和Java相比,它的語法更簡單,相對來說更好入門。Visual Studio作為.Net平臺上最重量級的IDE,也通過不斷的更新為開發(fā)者帶來更出色的開發(fā)體驗。本文將介紹10個C#編程和Visual Studio IDE使用技巧。 C# 是一門偉大的編程語言,與C++和Java相比,它的語法更簡單,相對來說更好入門,經(jīng)歷10年的發(fā)展,C#已經(jīng)成為編程語言領域強有力的競爭者,每一年我們都能看到它的進步,每一個新版本都加入了許多新特性,總的來說,作為一門編程語言,它沒有讓C#開發(fā)者社區(qū)失望。Visual Studio亦是如此,新版本的
Visual Studio 2010 所帶來的新特性也讓開發(fā)者們興奮不已。 對開場白沒興趣?好吧,我們直接切入正題,下面介紹10個C#編程和Visual Studio IDE使用技巧。
1、Environment.Newline 你是否知道這個屬性是與平臺無關的?允許你根據(jù)每個平臺輸出新的換行字符。
Console.WriteLine("My?Tips?On?,{0}C#",?Environment.NewLine);? 2、命名空間別名 你是否知道可以使用更短的別名代替長的命名空間?你是否遇到過需要限制完整的命名空間以避免產(chǎn)生歧義?看下面的代碼示例,它是使用擴展的.NET Framework控件創(chuàng)建的一個通用庫。
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#開發(fā)人員應該都有過程序調(diào)試的經(jīng)歷,這個屬性在調(diào)試期間控制對象行為的能力非常強大,在調(diào)試過程中它在一個小提示窗口中顯示對象,它可以用于隱藏私有成員或在調(diào)試窗口中顯示也是多余的成員,例如,當你調(diào)試類對象時,在調(diào)試窗口中你可以看到私有變量,這個時候你就可以使用[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、為項目創(chuàng)建虛擬目錄 你可以強制每個開發(fā)人員在本地為項目創(chuàng)建一個同名的虛擬目錄,這個來自Visual Studio IDE的技巧將有助于代碼在多個C#開發(fā)人員的電腦之間同步。在項目名稱上點擊右鍵,選擇“屬性”,在“Web”選項卡中,選中“使用本地IIS Web服務器”選項,然后為其指定一個虛擬路徑,如下圖所示。 ?
圖 1 設置項目的本地虛擬目錄路徑 這樣設置后,所有使用該項目文件的開發(fā)人員都會收到一個要求,在本地機器上創(chuàng)建一個同名的虛擬目錄。
6、改變項目平臺 你可以改變應用程序的生成目標平臺,這里的平臺指的是32位和64位環(huán)境,在項目名稱上點擊右鍵,選擇“屬性”,在“Build”選項卡中,選擇需要的目標平臺,如下圖所示。 ?
圖 2 修改項目的目標平臺 7、代碼定義窗口 這個窗口允許你跳轉到對象的定義,你可以按F12鍵快速跳轉到對象的定義位置,在代碼編輯器的任意對象上試試這個功能,相信一定不會讓你失望的。此外,還有一個專門的代碼定義窗口,當你按照Ctrl+W,D組合鍵時就會彈出一個代碼定義窗口。
if?(e.Item.ItemType ?==?ListItemType.Item?) ? ??{ ? ??????//Your?code?here. ? ??}? 如果你將光標停留在ListItemType上面,然后按下組合鍵,你將會看到如下圖所示的一個窗口。 ?
圖 3 代碼定義窗口 8、Null合并運算符 Null合并運算符允許你以很簡潔的方式比較空值,它使用兩個問號表示。例如,myfunction返回的值可能是一個空的整數(shù)值,在這種情況下,你可以使用合并運算符快速檢查它是否為空,然后返回一個代替值。
int?myExpectedValueIfNull ?=?10 ; ? int?expectedValue ?=?myfunction ()????myExpectedValueIfNull? 9、using語句快捷鍵 按下Ctrl+.會彈出一列可用的using語句,使用箭頭鍵進行移動,按下回車鍵確認選擇,如下圖所示。 ?
圖 4 在代碼編輯器中快速調(diào)出using語句 10、尋找恐怖的數(shù)據(jù)集合并錯誤根本原因 你是否遇到過無法找出數(shù)據(jù)集合并錯誤的原因?現(xiàn)在有辦法了,使用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技巧,享受寫代碼的樂趣,如果你有其它技巧愿意和大家分享,歡迎在本文后面發(fā)表評論。 【編輯推薦】?
Visual Studio自定義調(diào)整窗體的兩個小技巧 Visual Studio 2010中關于C#的幾點改進 Visual Studio 2010及.Net 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 職場 休閑 C# 編程技巧 .Net之C#學習
1
分享
微博 QQ 微信
收藏
上一篇:采用C#泛型實現(xiàn)數(shù)據(jù)庫之間的切換 下一篇:關于性格內(nèi)向者的10個誤解 shaofeirong
7篇文章,6323人氣,0粉絲
轉載于:https://blog.51cto.com/shaofeirong/415980
總結
以上是生活随笔 為你收集整理的10个C#编程和Visual Studio使用技巧 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。