我想达到投入的随机数在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