需要在C#通用类中添加2个数字

卡玛尔

我有以下代码:

public T[] Plus<T>(T[] a, T[] b, int size)
{
    T[] sum = new T[size];
    for (int i = 0; i < size; i++)
    {
        sum[i] = a[i] + b[i];
    }
    return sum;
}

但它不起作用。如何计算“ a”和“ b”数组?

PST可能只sbyte int uint long ulong对不起我的英语不好。

马克·格雷韦尔

这是一种可怕的方法,但是至少可以起作用:

    for (int i = 0; i < size; i++)
    {
        sum[i] = (dynamic)a[i] + (dynamic)b[i];
    }

但是,它确实进行了很多装箱和拆箱。如果您想要更好的版本,则可以通过重载来做得更好:

public static int[] Plus(int[] a, int[] b, int size)
{
    int[] sum = new int[size];
    for (int i = 0; i < size; i++)
    {
        sum[i] = a[i] + b[i];
    }
    return sum;
}
public static long[] Plus(long[] a, long[] b, int size)
{
    long[] sum = new long[size];
    for (int i = 0; i < size; i++)
    {
        sum[i] = a[i] + b[i];
    }
    return sum;
}

您还可以修改通用版本:

public static T[] Plus<T>(T[] a, T[] b, int size)
{
    switch(Type.GetTypeCode(typeof(T)))
    {
        case TypeCode.Int32:
            return (T[])(object)Plus((int[])(object)a, (int[])(object)b, size);
        case TypeCode.Int64:
            return (T[])(object)Plus((long[])(object)a, (long[])(object)b, size);
        // ...etc
        default:
            throw new NotSupportedException();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要在C#泛型类中添加2个数字

来自分类Dev

需要在C#中按键和值相交2个字典

来自分类Dev

需要在C#中按键和值相交2个字典

来自分类Dev

在C中的数组中打印2个数字并跳过2个数字

来自分类Dev

在C中的数组中打印2个数字并跳过2个数字

来自分类Dev

C#将数组中的上一个数字添加到下一个

来自分类Dev

C#使用2个数组,计算数组中数字出现的次数

来自分类Dev

将2个数字合并为日期C#

来自分类Dev

需要在文本框中搜索数字组合(C#)

来自分类Dev

在C ++中读取带有2个数字的行

来自分类Dev

在C中定义至少2个数字的宏

来自分类Dev

在C ++中读取带有2个数字的行

来自分类Dev

为什么需要在此人类中添加2个私有变量?

来自分类Dev

如何在另一个通用基类上添加C#通用类型约束?

来自分类Dev

通用类C#方法中的特例

来自分类Dev

平方C#中的每个数字

来自分类Dev

c#我需要在循环中为同一个变量添加不同的值

来自分类Dev

在CPP中交换2个数字

来自分类Dev

C ++计算2个数字的比率

来自分类Dev

C ++算法预测,需要预测3个数字

来自分类Dev

计算HTML中2个数字之间的差并应用CSS类

来自分类Dev

如何扩展在C#中返回通用值的通用类?

来自分类Dev

如何在数组C#中添加前n个数字

来自分类Dev

无法在 C# 中获取两个数字的值来添加

来自分类Dev

如何在C#中从字符串中挑选一个数字

来自分类Dev

需要在C#中更新图像文件

来自分类Dev

需要在 Java 中引用和使用 C# dll

来自分类Dev

需要在Cursor PLSQL中运行2个查询的帮助

来自分类Dev

如何减去需要在 sql 中连接的 2 个值?