程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#編程和Visual Studio應用技能(下)

C#編程和Visual Studio應用技能(下)

編輯:C#入門知識

C#編程和Visual Studio應用技能(下)。本站提示廣大學習愛好者:(C#編程和Visual Studio應用技能(下))文章只能為提供參考,不一定能成為您想要的結果。以下是C#編程和Visual Studio應用技能(下)正文


假如你經由過程搜刮引擎發明這篇文章的,我建議你先看看本系列的第一篇,這是本系列文章的第二篇,明天為年夜家帶來更豐碩的C#和Visual Studio編程技能,一路來看看吧。

推舉:《10個C#編程和Visual Studio應用技能》(上)

1、DataTable.HasRows

它不屬於任何框架,但經由過程擴大辦法很輕易模擬如許一個辦法,它不會清除檢討數據表對象能否為空或行數的原始代碼,但它可以簡化運用法式的代碼,上面是一個代碼片斷:

<CODE> 
public static bool HasRows(this DataTable dataTable) 
  { 
return dataTable.IsNull() ? false : (dataTable.Rows.Count > 0); 
  } 
 
 public static bool IsNull(this object o) 
  { 
   return (o == null); 
  } 
 
 To use: 
 If(dataTable.HasRows()) 
 { 
 … 
 } 
  </CODE> 

其它規矩依然和擴大辦法雷同。

2、ToTitleCase

這個辦法可以將每一個單詞的首字母轉換為年夜寫,剩下的字母轉換為小寫,例如,“look below for a sample”將被轉換為“Look Below For A Sample”,TextInfo是System.Globalization定名空間的一部門,但它存在以下成績:

以後的文明

假如輸出字符串全體是年夜寫

上面的擴大辦法同時斟酌了這兩個缺點。

<CODE> 
public static string ToTitleCase(this string inputString) 
  { 
   return Thread.CurrentThread.CurrentCulture.TextInfo. 
ToTitleCase((inputString ?? string.Empty).ToLower()); 
 } 
  </CODE> 

3、顯性和隱性接話柄現

這很主要嗎?是的,異常主要,你曉得它們之間的語法差別嗎?其實它們存在基本性的差別。類上的隱性接話柄現默許是一個公共辦法,在類的對象或接口上都可以拜訪。而類上的顯性接話柄現默許是一個公有辦法,只能經由過程接口拜訪,不克不及經由過程類的對象拜訪。上面是示例代碼:

<CODE> 
 
 INTERFACE 
 public interface IMyInterface 
 { 
 void MyMethod(string myString); 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE IMPLICITLY 
 public MyImplicitClass: IMyInterface 
 { 
 public void MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE EXPLICITLY 
 public MyExplicitClass: IMyInterface 
 { 
 void IMyInterface.MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 MyImplicitClass instance would work with either the class or the Interface: 
 MyImplicitClass myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 IMyInterface myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 
 MyExplicitClass would work only with the interface: 
 //The following line would not work. 
 MyExplicitClass myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 //This will work 
 IMyInterface myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 
 </CODE> 

4、Auto屬性

它是調換包括一個公共,兩個公有成員屬性的最好方法。

按下兩次Tab鍵(須要開啟代碼片斷功效),一個Auto屬性就創立好了,再按Tab鍵Auto屬性取一個名字。上面這段代碼

<CODE> 
 private double _total; 
 public double Total 
 { 
 get { return _total; } 
 set { _total = value; } 
 } 
 </CODE> 

就釀成了

<CODE> 
public double Total { get; set; } 
 </CODE> 

留意你依然可以依據你的設計運用拜訪解釋符,編譯器應當會為你創立公有成員變量。

5、壯大的Path.Combine

Path.Combine憑仗壯大的功效清除了尾斜線和途徑相干的成績,簡略易用,讓途徑字符串更持續,它包括一個字符串途徑參數。

你不消擔憂途徑中的有用分隔符或空格,完整不消你處置途徑歸並時的字符串聯接。

6、在類中編寫“Override”辦法的疾速辦法

在代碼編纂器中輸出override,按空格鍵,你將會看到一串基於類的可覆寫辦法,如圖2所示。

圖1  可覆寫辦法列表

7、應用擴大的設置裝備擺設文件

感激app.config(針對運用法式)和web.config設置裝備擺設文件,使我們可以處置龐雜的運用法式級設置,然則我們依然要處置分歧情況設置面對的各類成績,這裡指的是開辟、測試和臨盆情況的設置。

我們不能不恢復到一個特定的情況以便停止剖析、測試或調式部門代碼,在這個進程中,每次設置和調劑都很有趣。

例如,每次恢復能夠都要從新設置ConnectionStrings(銜接字符串),如今你可以經由過程內部文件援用應用ConfigSource屬性來處理這個成績。例如,上面的代碼援用了一個deveploment.config內部設置裝備擺設文件。

<connectionStrings configSource="configs\ development.config" /> 

你還可以在AppSettings設置末節應用這個有效的屬性。

8、戰勝String.Split辦法的局限

String.Split是分隔字符串最幻想的辦法,但據我們所知,它也有一些限制,如不克不及應用“||”或“::”如許的字符,必需應用鍵盤上舉世無雙的單個字符作為分隔符,這個缺陷可使用RegEx庫供給的Split辦法來戰勝失落,上面的代碼顯示了應用RegEx Split分隔一個“||”分隔字符串。

<CODE> 
string delimitedString = "String.Split || RegEx.Split"); 
string[] ouputString = System.Text.RegularExpressions.Regex.Split( 
 delimitedString, 
 , System.Text.RegularExpressions.Regex.Escape("||")); 
 </CODE> 

9、元素的HTML代碼視圖和設計視圖之間的疾速切換(反之亦然)

在設計運用法式時,我們在IDE上消費的時光許多,年夜部門時光都耗在HTML內容和設計視圖上,Visual Studio 2010供給了設計視圖和HTML代碼之間疾速切換的功效。

假如你在HTML視圖中,定位你想在設計視圖中檢查的元素,然後切換到設計視圖,你想檢查的元素應當處於選中狀況,另外,屬性窗口如今也應當顯示的是選中元素的屬性。
與此相似,當你在設計視圖中,選中元素,然後切換到代碼視圖,你選中的元素對應的HTML代碼應當是高亮狀況。

10、疾速搜刮數據庫中的數據

固然數據表支撐Find和Select辦法選擇行,但它們都沒有DataView的辦法好用,DataView供給了一個FindRows辦法,它可使用排序列上創立的索引,是以速度更快。
願望這些技能可以贊助你節儉名貴的編程時光,趕緊去嘗嘗吧!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved