首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以使方法返回未知类型的数组吗?

可以使方法返回未知类型的数组吗?
EN

Stack Overflow用户
提问于 2019-06-24 04:48:24
回答 2查看 0关注 0票数 0

我正在学习制作静态'辅助'类,我想到的第一个真正应用是将一维数组转换为二维数组。

当我知道数组的类型(即Colors32[]来自Unity)时,我有这个代码作为方法工作但是在我的帮助器类中,我希望能够传递任何类型的数组并以一定宽度的二维数组形式返回它,身高。

这可能吗?

EN

回答 2

Stack Overflow用户

发布于 2019-06-24 13:40:45

泛型与扩展方法配对似乎是您正在寻找的:

代码语言:javascript
复制
var array1 = new int[8];

var array2 = array1.ToTwoDimensionalArray(3, 4);

// ...

public static class Extensions
{
    public static T[,] ToTwoDimensionalArray<T>(this T[] array, int x, int y)
    {
        if (x < 0) throw new ArgumentException(nameof(x));
        if (y < 0) throw new ArgumentException(nameof(y));

        var newArray = new T[x, y];

        // this may vary depending on your logic
        for (var i = 0; i < x; i++)
            newArray[i, 0] = array[i];

        return newArray;
    }
}

有关泛型的更多信息,请查看此内容

票数 0
EN

Stack Overflow用户

发布于 2019-06-24 14:19:28

看起来像通用方法将适合该法案:

代码语言:javascript
复制
public static T[,] to2d<T>(T[] arr, int x, int y)
{
    T[,] result = new T[x, y];

    // Copy values from arr according to your logic

    return result;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档