2012-04-11 50 views
2

使用using聲明有程序優勢嗎?「使用」指令是否提供任何好處?

聲明本樣品之間的差異:

using Application.Data; 
namespace Application.Web 
{ 
    public class SampleClass 
    { 
     public void SampleMethod() 
     {    
      List<Category> categories = CreateCategoriesData(); 
      Category expected = categories[0]; 
      ... 
     ... 
     } 
    } 
} 

這一個:

namespace Application.Web 
{ 
    public class SampleClass 
    { 
     public void SampleMethod() 
     {    
      List<Data.Category> categories = CreateCategoriesData(); 
      Data.Category expected = categories[0]; 
      ... 
     ... 
     } 
    } 
} 
+0

你覺得呢? – 2012-04-11 17:22:17

+4

定義「程序化好處」。 – BoltClock 2012-04-11 17:22:29

+0

@亞當·德拉蒙德是的。 – mydogisbox 2012-04-11 17:22:49

回答

5

沒有「編程式」的好處:編譯代碼後,生成的庫或可執行文件沒有區別。這是一個偏好問題,有時候是您組織的編碼標準。我們公司更喜歡使用using,除非在極少數情況下不可行。

+0

這是我想知道的。我不確定這是一種優先選擇,還是選擇路線會有實際好處。謝謝。 – Adam 2012-04-11 17:28:31

6

使你的代碼更短,更易讀。我不知道別人怎麼想,但個人而言,我發現完全限定代碼中的類型名稱是非常可怕的。

,而不是另外:

List<Data.Category> categories = CreateCategoriesData(); 

你可以寫

var categories = CreateCategoriesData(); 

從而擺脫了using的,使你的代碼更短。那麼當明天你決定重新命名一個類或一個命名空間時,你將會有更少的事情需要擔心。

就發射IL而言,兩者完全相同,因此如果您在開發團隊工作,您應該真正使用對您更可讀的內容,當然還要尊重既定的編碼標準。我已經看到兩個實際使用,並已經投入了我的2美分關於第二個版本。

相關問題