0
我有int數組表示矩陣矩陣的元素。我需要獲得行,列和2個主對角線。我無法獲得第二對角線(對於3 * 3矩陣,它是指數爲2,4,6,6 * 6 - 5,10,15,20,25,30的元素)。我想知道有沒有一個乾淨的方式來做到這一點沒有for循環。在線性表示中獲得方矩陣的主對角線
var matrix = new int[] { 6, 7, 2, 1, 5, 9, 8, 3, 4 };
int size = 3;
int i = 0;
var rows = matrix.GroupBy(x => i++/size);
i = 0;
var columns = matrix.GroupBy(x => i++ % size);
var diag1 = matrix.Where((x, index)=>index%(size+1)==0);
var diag2 = matrix.Where((x, index) => index % (size - 1) == 0);//PROBLEM - takes 0,8 indexes also.