有没有办法告诉方法它应该返回什么值类型?

连帽死亡

我有一个通用方法来帮助程序的不同部分操作不同类型的数组,这个方法接受 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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法提供单个宏函数来返回不同类型的值,包括什么都不包含?

来自分类Dev

有没有办法返回作为子类的类型?

来自分类Dev

Java:有没有办法在枚举中获取具有不同返回类型的方法?

来自分类Dev

有没有办法建立返回值?

来自分类Dev

PHP:有没有办法获取方法的返回类型?

来自分类Dev

有没有办法从返回void的方法中提取int []数组值?

来自分类Dev

有没有办法告诉 GCC 参数的范围?

来自分类Dev

有没有办法告诉什么因素会导致IE 11兼容模式?

来自分类Dev

有没有办法告诉一个进程是否是孩子,如果它叉,然后setsid

来自分类Dev

有没有办法“告诉” IntelliSense 和编译器该类实现了接口而不实际实现它?

来自分类Dev

有没有办法在将 int 实现到数组之前扫描它的值?

来自分类Dev

有没有办法确定传入的变量是引用类型还是值类型?

来自分类Dev

有没有办法让Postgres告诉您除了/附近还有什么语法错误?

来自分类Dev

有没有办法确保将ac#方法返回的值分配给变量?

来自分类Dev

有没有办法将C ++数据类型作为变量返回?

来自分类Dev

有没有办法在C ++函数体内定义返回类型?

来自分类Dev

有没有办法找出从 ByteArrayInputStream 返回的字节类型?

来自分类Dev

有没有办法告诉Go中的文件类型(可执行文件,文本等)?

来自分类Dev

有没有办法引用类型的构造函数?

来自分类Dev

有没有办法从IO monad解开类型?

来自分类Dev

有没有办法从IO monad解开类型?

来自分类Dev

有没有办法返回Future [Unit]?

来自分类Dev

有没有办法让枚举返回UIViewController

来自分类Dev

有没有办法检查使用泛型使用什么变量类型?

来自分类Dev

有没有办法在MySQL中检索数据类型的最小值?

来自分类Dev

有没有办法在Typescript中仅提取某种接口类型的值?

来自分类Dev

Typescript:有没有办法在模板文字类型值中使用变量?

来自分类Dev

有没有办法将公式类型的字段的值显示为文本?

来自分类Dev

有没有办法更改fn:path()的返回值?

Related 相关文章

  1. 1

    有没有办法提供单个宏函数来返回不同类型的值,包括什么都不包含?

  2. 2

    有没有办法返回作为子类的类型?

  3. 3

    Java:有没有办法在枚举中获取具有不同返回类型的方法?

  4. 4

    有没有办法建立返回值?

  5. 5

    PHP:有没有办法获取方法的返回类型?

  6. 6

    有没有办法从返回void的方法中提取int []数组值?

  7. 7

    有没有办法告诉 GCC 参数的范围?

  8. 8

    有没有办法告诉什么因素会导致IE 11兼容模式?

  9. 9

    有没有办法告诉一个进程是否是孩子,如果它叉,然后setsid

  10. 10

    有没有办法“告诉” IntelliSense 和编译器该类实现了接口而不实际实现它?

  11. 11

    有没有办法在将 int 实现到数组之前扫描它的值?

  12. 12

    有没有办法确定传入的变量是引用类型还是值类型?

  13. 13

    有没有办法让Postgres告诉您除了/附近还有什么语法错误?

  14. 14

    有没有办法确保将ac#方法返回的值分配给变量?

  15. 15

    有没有办法将C ++数据类型作为变量返回?

  16. 16

    有没有办法在C ++函数体内定义返回类型?

  17. 17

    有没有办法找出从 ByteArrayInputStream 返回的字节类型?

  18. 18

    有没有办法告诉Go中的文件类型(可执行文件,文本等)?

  19. 19

    有没有办法引用类型的构造函数?

  20. 20

    有没有办法从IO monad解开类型?

  21. 21

    有没有办法从IO monad解开类型?

  22. 22

    有没有办法返回Future [Unit]?

  23. 23

    有没有办法让枚举返回UIViewController

  24. 24

    有没有办法检查使用泛型使用什么变量类型?

  25. 25

    有没有办法在MySQL中检索数据类型的最小值?

  26. 26

    有没有办法在Typescript中仅提取某种接口类型的值?

  27. 27

    Typescript:有没有办法在模板文字类型值中使用变量?

  28. 28

    有没有办法将公式类型的字段的值显示为文本?

  29. 29

    有没有办法更改fn:path()的返回值?

热门标签

归档