搜尋
首頁後端開發C#.Net教程C#程式設計和Visual Studio使用技巧(下)

如果你透過搜尋引擎發現這篇文章的,我建議你先看看本系列的第一篇,這是本系列文章的第二篇,今天為大家帶來更豐富的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所示。

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

圖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方法,它可以使用排序列上建立的索引,因此速度更快。
希望這些技巧可以幫助你節省寶貴的程式時間,趕快去試試吧!

更多C#程式設計和Visual Studio使用技巧(下)相關文章請追蹤PHP中文網!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
超越炒作:評估C#.NET的當前作用超越炒作:評估C#.NET的當前作用Apr 30, 2025 am 12:06 AM

C#.NET是一個強大的開發平台,結合了C#語言和.NET框架的優勢。 1)它廣泛應用於企業應用、Web開發、遊戲開發和移動應用開發。 2)C#代碼編譯成中間語言後由.NET運行時環境執行,支持垃圾回收、類型安全和LINQ查詢。 3)使用示例包括基本控制台輸出和高級LINQ查詢。 4)常見錯誤如空引用和類型轉換錯誤可以通過調試器和日誌記錄解決。 5)性能優化建議包括異步編程和優化LINQ查詢。 6)儘管面臨競爭,C#.NET通過不斷創新保持其重要地位。

C#.NET的未來:趨勢和機遇C#.NET的未來:趨勢和機遇Apr 29, 2025 am 12:02 AM

C#.NET的未來趨勢主要集中在雲計算、微服務、AI和機器學習集成以及跨平台開發三個方面。 1)雲計算和微服務:C#.NET通過Azure平台優化雲環境表現,支持構建高效微服務架構。 2)AI和機器學習集成:借助ML.NET庫,C#開發者可在應用中嵌入機器學習模型,推動智能化應用發展。 3)跨平台開發:通過.NETCore和.NET5 ,C#應用可在Windows、Linux和macOS上運行,擴展部署範圍。

C#.NET開發今天:趨勢和最佳實踐C#.NET開發今天:趨勢和最佳實踐Apr 28, 2025 am 12:25 AM

C#.NET開發的最新動態和最佳實踐包括:1.異步編程提高應用響應性,使用async和await關鍵字簡化非阻塞代碼;2.LINQ提供強大查詢功能,通過延遲執行和表達式樹高效操作數據;3.性能優化建議包括使用異步編程、優化LINQ查詢、合理管理內存、提升代碼可讀性和維護性、以及編寫單元測試。

C#.NET:使用.NET生態系統構建應用程序C#.NET:使用.NET生態系統構建應用程序Apr 27, 2025 am 12:12 AM

如何利用.NET構建應用?使用.NET構建應用可以通過以下步驟實現:1)了解.NET基礎知識,包括C#語言和跨平台開發支持;2)學習核心概念,如.NET生態系統的組件和工作原理;3)掌握基本和高級用法,從簡單控制台應用到復雜的WebAPI和數據庫操作;4)熟悉常見錯誤與調試技巧,如配置和數據庫連接問題;5)應用性能優化與最佳實踐,如異步編程和緩存。

C#作為多功能.NET語言:應用程序和示例C#作為多功能.NET語言:應用程序和示例Apr 26, 2025 am 12:26 AM

C#在企業級應用、遊戲開發、移動應用和Web開發中均有廣泛應用。 1)在企業級應用中,C#常用於ASP.NETCore開發WebAPI。 2)在遊戲開發中,C#與Unity引擎結合,實現角色控制等功能。 3)C#支持多態性和異步編程,提高代碼靈活性和應用性能。

C#.NET用於網絡,桌面和移動開發C#.NET用於網絡,桌面和移動開發Apr 25, 2025 am 12:01 AM

C#和.NET適用於Web、桌面和移動開發。 1)在Web開發中,ASP.NETCore支持跨平台開發。 2)桌面開發使用WPF和WinForms,適用於不同需求。 3)移動開發通過Xamarin實現跨平台應用。

C#.NET生態系統:框架,庫和工具C#.NET生態系統:框架,庫和工具Apr 24, 2025 am 12:02 AM

C#.NET生態系統提供了豐富的框架和庫,幫助開發者高效構建應用。 1.ASP.NETCore用於構建高性能Web應用,2.EntityFrameworkCore用於數據庫操作。通過理解這些工具的使用和最佳實踐,開發者可以提高應用的質量和性能。

將C#.NET應用程序部署到Azure/AWS:逐步指南將C#.NET應用程序部署到Azure/AWS:逐步指南Apr 23, 2025 am 12:06 AM

如何將C#.NET應用部署到Azure或AWS?答案是使用AzureAppService和AWSElasticBeanstalk。 1.在Azure上,使用AzureAppService和AzurePipelines自動化部署。 2.在AWS上,使用AmazonElasticBeanstalk和AWSLambda實現部署和無服務器計算。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。