C# 最通用的数组类型?

C# 最通用的数组类型?,c#,arrays,.net-4.0,C#,Arrays,.net 4.0,我希望用一些辅助方法创建一个简单的数组包装器,但是我希望这个包装器能够处理任何一维数组/操作。因此,我正在寻找一个基本类型来强制转换内部数组 有人可以建议类型吗?您可以使用泛型类型参数: public class ArrayWrapper<T> { private T[] array; } 公共类阵列说唱器 { 私有T[]数组; } 该类以通用方式封装数组,并且已经提供了许多帮助器方法。您可以使用通用类型参数: public class ArrayWrapper<T&

我希望用一些辅助方法创建一个简单的数组包装器,但是我希望这个包装器能够处理任何一维数组/操作。因此,我正在寻找一个基本类型来强制转换内部数组


有人可以建议类型吗?

您可以使用泛型类型参数:

public class ArrayWrapper<T>
{
   private T[] array;
}
公共类阵列说唱器
{
私有T[]数组;
}

该类以通用方式封装数组,并且已经提供了许多帮助器方法。

您可以使用通用类型参数:

public class ArrayWrapper<T>
{
   private T[] array;
}
公共类阵列说唱器
{
私有T[]数组;
}

该类通用地封装了一个数组,并且已经提供了许多帮助器方法。

听起来您希望将帮助器方法编写为通用扩展方法:

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

注意。在看到另一个答案后重新阅读您的问题,我看到您正在询问关于创建包装器类的问题。如果您喜欢一个类,另一个答案在技术上更为正确,但是如果您只是创建了两个助手方法,那么扩展方法是解决问题的更好的方法。

听起来您希望助手方法被编写为通用扩展方法:

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

注意。在看到另一个答案后重新阅读您的问题,我看到您正在询问关于创建包装器类的问题。如果你喜欢一个类,另一个答案在技术上更为正确,但是如果你只是制作了两个助手方法,那么扩展方法是解决这个问题的更好的方法。

为什么不是一组扩展方法呢

public static class ArrayExtensions
{
    public static void MyFoo<T>(this T[] sourceArray)
    {
        //...
    }
}
公共静态类ArrayExtensions
{
公共静态void MyFoo(此T[]源数组)
{
//...
}
}

为什么不提供一组扩展方法

public static class ArrayExtensions
{
    public static void MyFoo<T>(this T[] sourceArray)
    {
        //...
    }
}
公共静态类ArrayExtensions
{
公共静态void MyFoo(此T[]源数组)
{
//...
}
}

我可能没有抓住要点,但泛型列表不是一回事吗?他们包装了一个一维数组,添加了辅助函数……难道你不能让它通用吗<代码>类别MyArrayRapper。我可能没有抓住要点,但通用列表不是一回事吗?他们包装了一个一维数组,添加了辅助函数……难道你不能让它通用吗<代码>类别MyArrayRapper。是的,扩展方法很好,但在这种情况下,它是为了解决一个非常模糊的问题,我必须屏蔽所有泛型。不管怎样,还是谢谢你。出于兴趣,有什么不清楚的问题吗?更新旧的FORTRAN应用程序以使用.Net对象进行数据采集,但是FORTRAN不能处理泛型,所以我需要用非泛型类型来屏蔽它们。是的,扩展方法可以,但在这种情况下,它是为了解决一个非常模糊的问题,我必须屏蔽所有泛型。不过还是要谢谢你。出于兴趣,有什么不清楚的问题吗?更新旧的FORTRAN应用程序以使用.Net对象进行数据采集,但是FORTRAN无法处理泛型,所以我需要用非泛型类型来屏蔽它们。