c# - LINQ:评估一个函数,其中数组元素按索引匹配

标签 c# .net linq

假设我有一个函数c [i] = f(x [i],y [i])。我有相等长度的输入值数组x和y,我想最后计算数组c的值。我如何使用LINQ做到这一点?

即无需写:

c = new double[x.Length];

for (int i = 0; i < x.Length; i++)
{
   c[i] = f(x[i], y[i]);
}

最佳答案

使用Zip方法,例如:

int[] x = { 1, 2, 3 };
int[] y = { 4, 5, 6 };

var result = x.Zip(y, (i, j) => i + j);


或者如果您已经具有足够参数的方法,则只需使用:

var result = x.Zip(y, Function);
// in this sample Function looks like:
static int Function(int x, int y)
{
    return x + y;
}

关于c# - LINQ:评估一个函数,其中数组元素按索引匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803298/

相关文章:

c# - 编写组合系统

c# - ADFS - Windows 集成 OR Forms 身份验证

c# - 有没有什么函数可以删除最后绘制的曲线?

.net - 当我们对子列表应用条件时,如何过滤父列表<>?

c# - 如何将 Expression<Func<TEntity, bool>> 映射到 Expression<Func<TDbEntity, bool>>

c# - 缓存 Linq 查询 - 这可能吗?

c# - 如何构建可以在窗口之间拖放用户控件的 WPF 应用程序?

c# - 创建 python Web 服务和 C# 客户端应用程序的最佳方法

c# - 使 Controller 异步的最简单方法

c# - 无法识别的 C# 语法