计算系统中对象值序列的和.数组实例

本文关键字:数组 实例 对象 计算系统 | 更新日期: 2023-09-27 18:07:07

我有这样的代码:

private object Add(object a, object b)
{
    // Assume: a and b are the same types.
    // Assume: a and b are numeric types (ex. int).
    Array array = Array.CreateInstance(a.GetType(), 2);
    array.SetValue(a, 0);
    array.SetValue(b, 1);
    // Is it possible to return the Sum of the values inside the Array instance?
}

有许多替代(当然更好)的方法可以使用常规数组、泛型或避免传递对象而只传递int、double等。

只是想弄清楚这是否可能(不使用动态原语类型)

计算系统中对象值序列的和.数组实例

如果你知道数组只包含整型,你可以这样做:

int sum = array.Cast<int>().Sum();

如果数组包含整型数值,但您不知道它们的类型,您可以尝试这样做:

long sum = array.Cast<object>().Select(o => Convert.ToInt64(o)).Sum();