我试图使扩展方法将洗牌泛型列表集合的内容,无论其类型但林不知道要放什么东西在<之间的参数.. >作为参数。我把对象?或类型?我希望能够在我拥有的任何List集合上使用它。如何指定在C#泛型列表类型的扩展方法
谢谢!
public static void Shuffle(this List<???????> source)
{
Random rnd = new Random();
for (int i = 0; i < source.Count; i++)
{
int index = rnd.Next(0, source.Count);
object o = source[0];
source.RemoveAt(0);
source.Insert(index, o);
}
}
我得学会打字速度更快。无论如何,'IList'会更一般。 –
2009-08-15 01:22:40
当我尝试列出我得到的所有方法...参数“2”:无法从“对象”到“T” – Grant 2009-08-15 01:25:24
@Grant转换:您需要在中途改变部分用“T”,而不是“对象“(或添加演员)。正如约翰提到的那样,使用IList会更普遍,尽管不是所有的IList 都实现了插入,所以它可能无法正常工作。 –
2009-08-15 01:29:06