具有泛型集合参数的方法
本文关键字:方法 参数 集合 泛型 | 更新日期: 2023-09-27 18:27:28
我有一个方法,它应该接受任何类型(例如List<int>
或List<string>
)的集合(可能是IEnumerable<T>
或List<T>
)。
在方法内部,我需要迭代集合,每个元素都转换为字符串,并将它们一起添加到一个最终字符串中,比如:
"(12, 123, 22)"
问题是如何定义参数集合可以是任何类型。我想这是关于泛型的东西,但我对它了解不多
然而,我认为方法定义应该是这样的:
public string myMethod(List<T> list) { }
但是,编译器不允许这样做。你能告诉我正确的语法吗?
class A
{
public string myMethod<T>(List<T> list) { }
}
或
class B<T>
{
public string myMethod(List<T> list) { }
}
您可能想要使用IEnumerable<T>
,因为您只需要对序列进行枚举。
使用内置功能可以实现相同的功能:
IEnumerable<X> input = new List<X> { new X(), new X() };
IEnumerable<string> s = list.Select(x => x.ToString());
string result = String.Join(", ", s); // "x, x"
请参阅MSDN。