日期:2014-05-18 浏览次数:21044 次
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; } }