c# - 在c#中获取任意类型数组的函数

标签 c# arrays object types

我创建了一个处理对象数组的函数,process(Object[])。它适用于任何类型,包括整数和 float ,只要您先将每个元素装箱即可。我希望该功能也可以采用未装箱的元素,如果只是在处理之前将其装箱的话。我该怎么做?

我可以用一些函数包装起来,比如 process(int[]) 和 process(float[]) 但这似乎也很麻烦。我试过 process(ValueType[]) 但编译器仍然选择 process(Object[])。

我有 C# 2.0,但如果有适用于 3.0 的好的解决方案,我希望看到它。

最佳答案

处理是如何进行的?最明显的方法签名是:

void ProcessArray<T>(T[] data)

字面意思是“任意类型的数组”——尽管调用者需要在编译时知道该类型。

但是,根据您使用这些元素的方式,您可能仍会以装箱结束。也许这没关系,考虑到您的问题部分说:“如果只是在处理之前将其装箱”。如果您对此感到满意,那就太好了 :)

如果您能提供更多有关您正在做的事情的详细信息,我们可能会提供更多帮助。

关于c# - 在c#中获取任意类型数组的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1378023/

相关文章:

c - 在函数中传递数组的位置

javascript - 如何使用JS从复杂对象中挑选出特定数据

vba - 如何将当前对象 (Me) 设置为存储在 Visual Basic for Excel 中的数组中的新对象

c# - ASP.NET MVC 4 捆绑 - Debug模式下的单个文件 URL

c# - MVC 项目中对 ViewModel 的引用不明确

php - 使用array_map调用数组中对象的方法?

php - 如何在 PHP 中查找对象 ID?

c# - Visual Studio XML 注释

c# - ASP.NET WebForms "Identifier expected"错误

ruby - 访问 ruby​​ 数组中的元素