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

C#編程入門的八大禁忌

開發(fā) 后端
這里是C#編程入門的八點注意事項,包括對字符串String變量的使用,字符器的連接、字符串轉整型等等內(nèi)容,希望對大家有所幫助。

作為微軟.NET平臺的“一等公民”,C#是大家必須學習的。那么在C#編程入門時,我們必定要走很多彎路,這里介紹的一些注意事項,是為了避免犯不必要的錯誤。

下面是8個C#編程入門時的注意事項是給初學者的,可能你知道,也可能你不知道,不過這些都是一些可能會讓人疏忽的地方,還是要注意一下這些C#編程入門的要求。

1.使用String變量:

考慮有下面的一個程序想判斷一下字符串是否有內(nèi)容。

  1. view sourceprint?
  2. if (someString.Length > 0) 
  3. {       
  4. // … } 

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

  1. view sourceprint?
  2. if  (!String.IsNullOrEmpty(someString) && someString.Length > 0) 
  3. {       
  4. // 是不是更好一些? 
  5. } 

2.字符器連接

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

這樣做沒什么問題,只不過性能不高,因為+=操作符其實調(diào)用的是String類的Append訪問,所以,+=會有兩次函數(shù)調(diào)用,下面的則會好一些。

  1. view sourceprint?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. view sourceprint?  
  2. Console.WriteLine("A= " + 1 + " B=" + 2 + " C= " + someValue); 

和第二點說的一樣,這并沒有效率,使用下面的語句,會更有效率。

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

4.字符串轉整型

  1. view sourceprint?  
  2. int i = int.Parse(Request.QueryString["id"]); 

這樣做的問題是,如果有人這樣請求你的頁面:yourpage.aspx?id=A6,那么A6將會導致你的程序拋出一個異常。因為A6不是一個整數(shù)字符串。使用TryParse會好一點。

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

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

  1. view sourceprint?  
  2. IDbConnection dbConn = null;   
  3.  try{       
  4. dbConn = new SqlConnection(”some Connection String”);       
  5. dbConn.Open();   
  6. }   
  7. finally{     
  8. dbConn.Close(); } 

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

  1. view sourceprint?  
  2. IDbConnection dbConn = null;   
  3.  try{       
  4. dbConn = new SqlConnection(”Some Connection String”);   
  5. dbConn.Open(); }   
  6. finally09.{      
  7. if (dbConn != null)       
  8. {           
  9. dbConn.Close();      
  10. }  

6.使用List類

  1. view sourceprint?  
  2. public void SomeMethod(List items) {       
  3. foreach(var item in items)       
  4. {           
  5. // do something with the item…       
  6. } } 

如果我們只是遍歷List容器中的所有內(nèi)容的話,那么,使用IEnumerable接口會更好一些。因為函數(shù)參數(shù)傳遞一個List對象要比一個IEnumerable接口要花費更多的開銷。

  1. view sourceprint?  
  2. public void SomeMethod(IEnumerable items)   
  3. {       
  4. foreach(var item in items)       
  5. {           
  6. // do something with the item…      
  7. } } 

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

  1. view sourceprint?  
  2. if(mode == 1) { … }   
  3. else if(mode == 2) { … }   
  4. else if(mode == 3) { … } 

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

  1. view sourceprint?  
  2. public enum SomeEnumerator {      
  3. DefaultMode = 1,      
  4. SafeMode = 2,      
  5. NormalMode = 3 }   
  6. if(mode == SomeEnumerator.DefaultMode) { … }   
  7. else if(mode == SomeEnumerator.SafeMode) { … }   
  8. else if(mode == SomeEnumerator.NormalMode) { … } 

8.字符串替換

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

字符串s的內(nèi)容什么也不會改變,因為string返回的是替換過的字串。這點很多初學者經(jīng)常忘了。下面就沒有問題了。

  1. view sourceprint?  
  2. s = s.Replace("amazing""awful"); 

C#編程入門的八點注意事項就介紹到這里。

【編輯推薦】

  1. C#創(chuàng)建快捷方式簡單描述
  2. C#壓縮Access數(shù)據(jù)庫詳細介紹
  3. C#實現(xiàn)加載動態(tài)庫概述
  4. C#日期型數(shù)據(jù)簡單剖析
  5. C#裝箱和拆箱簡單描述
責任編輯:彭凡 來源: coolshell.cn
相關推薦

2011-04-14 18:03:49

2010-08-05 16:45:20

白領禁忌

2011-04-28 15:11:53

打印辦公設備

2022-04-25 13:11:14

Python編程技巧

2024-02-27 07:12:12

編程語言TS

2009-06-22 14:07:46

JSF優(yōu)勢

2023-10-17 15:29:44

2023-11-15 15:45:22

2009-08-26 10:34:15

C#類型C#變量

2011-04-29 09:15:16

Servlet

2024-04-24 09:52:19

云技能云遷移云計算

2023-12-27 11:45:09

2025-01-02 12:51:06

2012-05-10 16:45:54

linux系統(tǒng)

2024-12-31 06:00:00

Python編程代碼

2022-01-05 09:26:56

IT災難IT故障

2011-08-17 13:55:25

VoIPPBX

2012-05-05 09:28:50

三星

2011-07-11 14:01:12

JAVA

2012-05-11 11:53:36

虛擬化
點贊
收藏

51CTO技術棧公眾號