最通用的数组类型

本文关键字:数组 类型 | 更新日期: 2023-09-27 17:53:14

我希望创建一个简单的数组包装器与几个助手方法,但是我希望这个包装器能够处理任何一维数组/操作。所以我正在寻找一个基类型来转换内部数组。

谁能建议一个类型?

最通用的数组类型

可以使用泛型类型参数:

public class ArrayWrapper<T>
{
   private T[] array;
}

List<T>类一般封装了一个数组,并且已经提供了一些辅助方法。

为什么不使用一组扩展方法呢?

public static class ArrayExtensions
{
    public static void MyFoo<T>(this T[] sourceArray)
    {
        //...
    }
}

听起来您希望您的助手方法被编写为泛型扩展方法:

public static Array Extensions
{
    public void Foo<T>(this T[] bar)
    {
        //foo this bar
    }
}

由于这是一个扩展方法,所有数组现在都有一个名为foo:

的实例方法
int[] a = new int[] { 1, 2, 3 };
a.Foo();

Nb。在看到另一个答案后重读你的问题,我看到你问的是制作包装器类。如果你更喜欢类,另一个答案在技术上更正确,但如果你只是做几个助手方法,那么扩展方法是更好的解决方案。