任何人都可以幫助我弄清楚如何我可以簡化此代碼,而不使用ArrayList
?構建和使用通用列表?
List<Pair> material = new List<Pair>();
List<string> list = new List<string>();
string tempStr;
int integer = -1;
foreach (string s in ((string)Value).Split(new char[1] { ',' }))
{
if (int.TryParse(s, out integer))
{
tempStr = NameValue.AllKeys[integer];
if (someCondition == true)
{
material.Add(new Pair(tempStr, integer));
}
else
{
list.Add(tempStr);
}
}
}
if(someCondition == true)
{
return material.ExtensionMethodForLists();
}
else
{
return list.ExtensionMethodForLists();
}
當我嘗試類似(下)時,我得到一個錯誤,沒有初始化一個implicitly型變量。
var list;
if(someCondition == true)
{
list = new List<Pair>();
}
else
{
list = new List<string>();
}
列表不能爲兩種不同的類型。 – alternative 2011-06-08 20:25:01
@mathepic - 我不確定是否可以在這裏以某種方式使用泛型來幫助 – Brett 2011-06-08 20:25:30
您需要這兩種類型來從通用接口/類型繼承。使用通用接口/基本類型將對和字符串換成類型。 – Maxim 2011-06-08 20:27:37