我試圖執行使用LINQ演算跨產品計算,並試圖找出了下面的代碼模式:LINQ和跨產品
static void Main(string[] args)
{
double[] a = { 1, -1, -1 };
double[] b = {.5,1,.5};
var cross = from x in a
from y in b
select new {x,y};
List<double> LeftSide = new List<double>();
foreach (var c in cross) {
Console.WriteLine("x = " + c.x + " y = " + c.y);
double res = c.x * c.y;
Console.WriteLine("");
LeftSide.Add(res);
}
double i = LeftSide[5] - LeftSide[7];
double j = LeftSide[2] - LeftSide[6];
double k = LeftSide[1] - LeftSide[3];
Console.WriteLine("("+ i + "i) - (" + j + "j) +(" + k + "k)" );
Console.ReadLine();
}
一旦我CROSS JOIN A和B,我需要執行以下計算:
double i = LeftSide[5] - LeftSide[7];
double j = LeftSide[2] - LeftSide[6];
double k = LeftSide[1] - LeftSide[3];
這工作,我得到所需的輸出,把我知道它可以更有效地寫。我正在尋找任何建議,指向正確的方向。
注意:這不是一個家庭作業問題,但與微積分三交叉產品有關。我是CS大學
你更有效率的意思是什麼?短?更快?使用5-7,2-6和1-3(索引)的邏輯是什麼?爲什麼這些? – 2012-02-04 14:39:36