2013-04-14 38 views
-2

我不知道,在C#中我可以聲明(通常我看到的代碼審查這種風格)是這樣的:C#屬性或一個簡單的變量,代碼風格

string myVarName 
{ 
    get 
    { 
     return myVarName; 
    } 
    set 
    { 
     myVarName = value; 
    } 
} 

但很多人說,那是更好,比只是string myVarName;聲明不屬性。

有時我會變得困惑,因爲我經常在代碼清單中看到這樣的風格。

爲什麼它更好?除JIT-compiler的提示之外,屬性inlined是否應將函數內聯編譯到使用位置,以避免函數調用開銷?

或者我可以贏得一些表現?

至於代碼風格,我喜歡更簡單的變量聲明不屬性風格。

至於屬性,我只能看到一些默認操作/觸發器的最佳優勢。 例如:我需要存儲財產的一半價值從傳入價值或像這樣... ...

也許我是不對的。我是對還是不對?

謝謝!

+0

讓人們查看您的代碼 –

+0

@DavidHeffernan我曾在很多網站上看過這個,也是在這個網站上,這就是爲什麼我會問這樣一個問題。 – Secret

+0

你可能想看看這個問題:http://stackoverflow.com/questions/2884715/what-are-the-benefits-of-using-properties-internally – gunr2171

回答

3

其實它不是關於編碼風格,你應該以最有利於你的方式使用屬性。

我使用性質是這樣的:

public string Name {get;set;} 

當我不需要任何特殊的實施

我使用它們像這樣:

public string Name 
{ 
    get 
    { 
     return name; 
    } 
    set 
    { 
     name = value.toLower(); 
    } 
} 

當我需要做的事情在之前賦值

我也鼓勵你使用屬性不是因爲「更好」,而是因爲它更靈活。

想一想你剛剛使用了公共變量。如果您需要添加某種驗證,則需要更新每個實例化要修改類的類。使用屬性您不需要任何外部更改。

至於性能關注,請不要擔心。我不認爲你會獲得任何性能提升避免屬性,即使你這樣做,它會是如此之小,但絕不是值得的,因爲你將丟棄一個你將來可能需要的非常有價值的功能,並且可能會非常痛苦更新。

相關問題