日期:2014-05-18 浏览次数:21221 次
int[] i = {1,2,3,4,5};
int[] j = {6,7,8,9,10};
int[] k = new int[i.Length];
for(int m=0;m<i.Length;m++)
{
k[m] = i[m] + j[m];
}
foreach(int n in k)
{
Response.Write(n.ToString());
}
------解决方案--------------------
int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };
int[] result = a.Zip(b, (x, y) => x + y).ToArray(); // result = { 5, 7, 9 }
------解决方案--------------------
矩阵运算时一个数学软件包基本的功能,写成简练的表达式是很符合数学家的习惯的——因为跟数学书上的符号一直。
随便写一个重载+号的例子吧。
public class Mat
{
public double[,] Datas;
public static Mat operator +(Mat a, Mat b)
{
var result = new Mat { Datas = new double[a.Datas.GetLength(0), b.Datas.GetLength(1)] };
for (var i = 0; i < a.Datas.GetLength(0); i++)
for (var j = 0; j < b.Datas.GetLength(1); j++)
{
double sum = 0;
for (var k = 0; k < a.Datas.GetLength(1); k++)
sum += a.Datas[i, k] * b.Datas[k, j];
result.Datas[i, j] = sum;
}
return result;
}
}