-1
我有一個類baseClass
以及baseClass
的對象列表。我想實現的是我必須動態分配實例號給列表中的每個對象。因爲我在做的是使用構造函數來做到這一點。如何維護對象列表中的實例編號
以下是類定義:
public class baseClass
{
private int _InstanceNumber;
private int _MyIntVal;
private string _MyString;
public string MyString
{
get { return _MyString; }
set { _MyString = value; }
}
public int MyIntVal
{
get { return _MyIntVal; }
set { _MyIntVal = value; }
}
public int MyProperty
{
get { return _InstanceNumber; }
}
public baseClass(int instance)
{
_InstanceNumber = instance;
}
}
對象的列表的創建如下:
int instanceNumber = 0;
List<baseClass> classList = new List<baseClass>();
classList.Add(new baseClass(instanceNumber++) { MyString = "sample1", MyIntVal = 10 });
classList.Add(new baseClass(instanceNumber++) { MyString = "sample2", MyIntVal = 11 });
我知道這是不是爲創建這個實際的方式。它實際上並沒有給出索引號。我如何計算實例編號?
請考慮以下情況,即創建另一個對象列表,然後難以維護實例編號。或者如果我在列表的外部創建另一個對象(這也是一個實例)。
int instanceNumber = 0;
List<baseClass> anotherClassList = new List<baseClass>();
classList.Add(new baseClass(instanceNumber++) { MyString = "sample1", MyIntVal = 10 });
classList.Add(new baseClass(instanceNumber++) { MyString = "sample2", MyIntVal = 11 });
更新: 這是我這個臨時的解決方案。我需要正確的方法/方法來維持實例號
「它不給實際的索引號「 - 你是什麼意思?順便說一下,您應該查看自動實現的屬性,這可以顯着減少需要編寫的代碼量 - 尤其是使用支持自動實現的只讀屬性的C#6。我還強烈建議您查看.NET命名約定。 –
接下來,如果您創建一個新列表,那麼您希望這些實例編號從0重新開始?或者這是一個* global *實例號碼? –
你的代碼適合我... – rene