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

初學(xué)C#編程的注意事項(xiàng)

開(kāi)發(fā) 后端
本文給初學(xué)C#編程者介紹了C#編程的8條注意事項(xiàng),希望對(duì)初學(xué)者會(huì)有一定的幫助。

下面是8個(gè)C#編程時(shí)的注意事項(xiàng)是給初學(xué)C#編程者的,可能你知道,也可能你不知道,不過(guò)這些都是一些可能會(huì)讓人疏忽的地方,還是要注意一下。

1.使用String變量

初學(xué)C#編程首先注意String變量的使用。考慮有下面的一個(gè)程序想判斷一下字符串是否有內(nèi)容。

  1. if (someString.Length > 0)   
  2. {   
  3.       
  4. // …   

但是,這個(gè)字符串對(duì)象很可能是個(gè)空對(duì)象,所以,最好先判斷一下null

  1. if  (!String.IsNullOrEmpty(someString))   
  2. {   
  3.       
  4. // 是不是更好一些?   

2.字符器連接

  1. string s = “dev”;   
  2. s += “-”;   
  3. s += “the”;   
  4. s += “-”;   
  5. s += “web”;   
  6. s += “.”;   
  7. s += “com”; 

這樣做沒(méi)什么問(wèn)題,只不過(guò)性能不高,因?yàn)?=操作符其實(shí)調(diào)用的是String類(lèi)的Append訪(fǎng)問(wèn),所以,+=會(huì)有兩次函數(shù)調(diào)用,下面的則會(huì)好一些。

  1. StringBuilder s = new StringBuilder();   
  2. s.Append(”dev”);   
  3. s.Append(”-”);   
  4. s.Append(”the”);   
  5. s.Append(”-”);   
  6. s.Append(”web”);   
  7. s.Append(”.”);   
  8. s.Append(”com”); 

3.使用Console

  1. Console.WriteLine("A= " + 1 + " B=" + 2 + " C= " + someValue); 

和第二點(diǎn)說(shuō)的一樣,這并沒(méi)有效率,使用下面的語(yǔ)句,會(huì)更有效率。

  1. Console.WriteLine(”A: {0}\nB: {1}\nC: {2}”, 1, 2, someValue); 

4.字符串轉(zhuǎn)整型

  1. int i = int.Parse(Request.QueryString["id"]); 

這樣做的問(wèn)題是,如果有人這樣請(qǐng)求你的頁(yè)面:yourpage.aspx?id=A6,那么A6將會(huì)導(dǎo)致你的程序拋出一個(gè)異常。因?yàn)锳6不是一個(gè)整數(shù)字符串。使用TryParse會(huì)好一點(diǎn)。

  1. int i;   
  2. if (!int.TryParse(Request.QueryString["id"] , out i))   
  3. {   
  4.       
  5. //…   

5. 調(diào)用IDbConnection 的 Close 方法

  1. IDbConnection dbConn = null;   
  2.    
  3.    
  4. try 
  5. {   
  6.       
  7. dbConn = new SqlConnection(”some Connection String”);   
  8.       
  9. dbConn.Open();   
  10. }   
  11. finally 
  12. {   
  13.       
  14. dbConn.Close();   

調(diào)用SqlConnection的構(gòu)造函數(shù)可能會(huì)出現(xiàn)一個(gè)異常,如果是這樣的話(huà),我們還需要調(diào)用Close方法嗎?

  1. IDbConnection dbConn = null;   
  2.    
  3. try 
  4. {   
  5.       
  6. dbConn = new SqlConnection(”Some Connection String”);   
  7.       
  8. dbConn.Open();   
  9. }   
  10. finally 
  11. {   
  12.       
  13. if (dbConn != null)   
  14.       
  15. {   
  16.           
  17. dbConn.Close();   
  18.       
  19. }   

6.使用List類(lèi)

  1. public void SomeMethod(List< SomeItem> items)   
  2. {   
  3.       
  4. foreach(var item in items)   
  5.       
  6. {   
  7.           
  8. // do something with the item…   
  9.       
  10. }   

如果我們只是遍歷List容器中的所有內(nèi)容的話(huà),那么,使用IEnumerable接口會(huì)更好一些。因?yàn)楹瘮?shù)參數(shù)傳遞一個(gè)List對(duì)象要比一個(gè)IEnumerable接口要花費(fèi)更多的開(kāi)銷(xiāo)。

  1. public void SomeMethod(IEnumerable< SomeItem> items)   
  2. {   
  3.       
  4. foreach(var item in items)   
  5.       
  6. {   
  7.           
  8. // do something with the item…   
  9.       
  10. }   

7.直接使用數(shù)字

  1. if(mode == 1) { … }   
  2. else if(mode == 2) { … }   
  3. else if(mode == 3) { … } 

為什么不給你的這些數(shù)字取個(gè)名字呢?比如使用Enumerations。

  1. public enum SomeEnumerator   
  2. {   
  3.       
  4. DefaultMode = 1,   
  5.       
  6. SafeMode = 2,   
  7.       
  8. NormalMode = 3   
  9. }   
  10.    
  11.    
  12. if(mode == SomeEnumerator.DefaultMode) { … }   
  13. else if(mode == SomeEnumerator.SafeMode) { … }   
  14. else if(mode == SomeEnumerator.NormalMode) { … } 

8.字符串替換

  1. string s = "www.coolshell.cn is a amazing site";   
  2. s.Replace("amazing""awful"); 

字符串s的內(nèi)容什么也不會(huì)改變,因?yàn)閟tring返回的是替換過(guò)的字串。這點(diǎn)很多初學(xué)者經(jīng)常忘了。下面就沒(méi)有問(wèn)題了。

  1. s = s.Replace("amazing""awful");  

希望這些注意事項(xiàng)可以幫助初學(xué)C#編程者更容易掌握C#編程。

【編輯推薦】

  1. C#實(shí)現(xiàn)多語(yǔ)言界面程序的方法介紹
  2. 介紹C#構(gòu)造函數(shù)的使用方法
  3. C#多態(tài)性的概念及其應(yīng)用
  4. 淺析C# treeview控件的使用方法
  5. 總結(jié)C#獲取當(dāng)前路徑的7種方法
責(zé)任編輯:book05 來(lái)源: coolshell
相關(guān)推薦

2011-07-06 09:44:34

C#

2011-07-06 09:46:56

C#

2010-02-03 10:21:46

初學(xué)Python

2009-08-06 16:13:16

C# Web Serv

2009-12-08 09:45:50

調(diào)用WCF

2010-03-16 10:16:18

2010-01-18 14:25:19

使用C++Builde

2014-07-29 10:12:38

LinuxC語(yǔ)言編程

2011-05-26 11:22:04

SEO

2010-01-18 16:12:16

CC++語(yǔ)言

2010-01-14 18:19:40

C++語(yǔ)言

2010-01-25 18:12:28

C++

2009-12-15 17:47:17

VSIP

2010-01-20 17:58:54

C++靜態(tài)成員

2015-05-04 14:51:49

SQL子查詢(xún)

2010-02-03 16:42:45

C++變量作用域

2010-01-27 09:12:01

C++語(yǔ)言學(xué)習(xí)

2010-01-26 16:54:58

學(xué)習(xí)C++

2010-11-26 16:27:01

MySQL使用變量

2023-01-14 09:49:11

點(diǎn)贊
收藏

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