我有一个通用方法来帮助程序的不同部分操作不同类型的数组,这个方法接受 aobject[]
并返回 a object[]
。不过,我很快意识到我无法将 an 隐式object[]
转换为不同类型的数组。有没有一种方法可以声明方法,以便我可以告诉它返回什么类型,类似于List
可以使用任何类型的对象声明类的方式?
我知道我可以使用类似的方法Array.ConvertAll
来获得结果,但我希望在方法本身中处理转换。
您的问题有点令人困惑,因为您使用“通用”一词但谈论的是一组对象 ( object[]
)。泛型是 .NET 中的一种语言特性,它允许您使用类型作为参数,例如方法。
具有讽刺意味的是,听起来泛型正是您正在寻找的,所以让我们来看看基础知识。您可以创建这样的通用方法:
T[] Manipulate<T>(T[] input)
{
// Do manipulation of array here
}
看到特别了<T>
吗?T
是方法的类型参数。您将能够使用任何类型的数组调用该方法:
var arr = new [] { 1, 2, 3 };
int[] result = Manipulate<int>(arr); // Actually, the <int> is not necessary in this case, since the compiler infers the type from the input
由于您为该方法提供了一个整数数组,该方法的结果也将是一个整数数组(因为您指定T[]
为返回类型)。
我建议阅读一些关于泛型的 MSDN 文档:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句