我想達到投入的隨機數在IList
的影響,似乎我無法想到如何獲得IList
的類型,無論是int
或decimal
,等我不能簡單地把Console.ReadLine()
到類型的IList
。如何轉換爲IList類型?
public void RandomizeIList<T>(IList<T> list)
{
randomNum = new Random();
T typeRead = 0, typeReadSeed = 0;
String strRead = "", strReadSeed = "";
Console.WriteLine("How many {0}s do you want to randomly generate?", list.GetType());
T strRead = (list.GetType())Console.ReadLine();
Console.WriteLine("What's the limit of the randomly generated {0}s?", list.GetType());
Int32.TryParse(strReadSeed, out intReadSeed);
for (int i = 0; i < strRead; i++)
{
list[i] = randomNum.Next(intReadSeed);
}
}
你有困難,因爲這首先不是泛型的好用法。採用T的通用方法應該能夠取*任何可能的T *。字符串,對象,長頸鹿,一碗水果,不管。 – 2013-03-26 23:08:48
請注意'list [i] = randomNum.Next(intReadSeed);'在這裏是錯誤的,在很多情況下會崩潰。你應該使用'list.Add(randomNum.Next(intReadSeed));' – joce 2013-03-27 01:58:15