gpt4 book ai didi

c# - 如何在 C# 中为泛型列表类型扩展方法指定参数

转载 作者:太空狗 更新时间:2023-10-29 22:08:52 25 4
gpt4 key购买 nike

我正在尝试制作一个扩展方法,该方法将随机播放通用列表集合的内容,而不管其类型如何,但是我不确定在 <..> 之间放置什么作为参数。我放对象吗?或类型?我希望能够在我拥有的任何 List 集合上使用它。

谢谢!

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);
}
}

最佳答案

你需要让它成为一个泛型方法:

public static void Shuffle<T>(this List<T> source)
{
Random rnd = new Random();

for (int i = 0; i < source.Count; i++)
{
int index = rnd.Next(0, source.Count);
T o = source[0];

source.RemoveAt(0);
source.Insert(index, o);
}
}

这将允许它与任何 List<T> 一起工作.

关于c# - 如何在 C# 中为泛型列表类型扩展方法指定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1280889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com