2011-10-27 61 views
-2

1)這兩行有什麼區別?當你在C#中干將像Java使用c#初學者很少有基本的「最佳實踐」問題

public string ShortName; 
    //and 
public string ShortName { get; set; } 

2)你什麼時候使用,如C#:我可以訪問它們以同樣的方式。 我看到C#itselfe使用java風格,像GetType

//Like Java: 
public string GetShortName(){ 
    return _shortName 
} 
//Like c#: 
public string ShortName { get { return _shortName; } set;} 

3)什麼是命名您的私有成員共同約定?

private string _shortName; //或 private string shortName;


4)命名常量的常用約定是什麼?

public const string SHORT_NAME; 
//or 
public const string ShortName; 

5)在什麼情況下,你選擇放於一類多在一個.cs文件?


6)你的命名空間是否與你的文件夾結構不同?

由於

+0

這是一個問題,讓其他人離開他們對初學者的問題,或者你要求就你提出的問題提出反饋意見嗎? – bobwah

+1

你試過搜索嗎?這是很好的功能! – Reniuz

+0

這在很多地方都有很好的回答,例如http://msdn.microsoft.com/en-us/library/czefa0ke(vs.71)。aspx – Paddy

回答

0

1)第一個是一個場,第二個是一個(自動執行)屬性。最佳做法是使用屬性來公開值,而不是字段。

2)屬性實現getter和setter,你不必編寫javastyle getter和setter方法,並假裝它們屬於一起。

3)和4)都被使用。

5)當你想再次找到該類時,最好是堅持每個文件一個類。

6)通常不是。

+0

你忘了回答最後4 :) – Tim

+0

@Tim - 我還在努力;-) –

1

1.)和2.)關於屬性的很酷的事情是,你可以在訪問器中做很好的事情。例如。

private string name; 
public String Name{ 
    get{ 
     if(this.name == String.Empty) 
      return "No name given"; 
     else 
      return name; 
    } 
} 

當成員不是值類型而是一些類時,這會變得更有趣。因此,雖然屬性可以讓您控制某個功能,但它可以像公共成員一樣使用。你也可以將set訪問器設置爲內部的,受保護的,甚至是私有的。

3.),4.)和6.)有許多命名約定。參見for Microsoft's

5.)不要。從長遠來看,這會讓你陷入困境。一個例外是嵌套(privat)類。