2016-05-20 35 views
0

我正在使用Dapper將我的對象從數據庫轉換爲lambda就緒的對象列表(例如:List<complexObject1>)我在對這些對象進行某些數據分析時遇到了問題。什麼是Matlab矩陣矢量化的C#等效?

x = eye(10,10) 

y = x(:,1) 

z = x(1,:) 

據我所知,C#是不是一個統計類型的語言,但他們的任何合理的方式(不包括:

在Matlab中,載體可以利用下面的代碼片段進行了矩陣使用多於3個for循環)從List<List<string>>提取此數據?

回答

1

其實C#是一種靜態類型語言,如果你有List<List<string>>可以easilly使用foreach環或LINQ擴展這樣的訪問行:

     foreach (var row in myList) 
         { 
          //do smth with row, row is a List<string> 
         } 
         //LINQ 
         var rows = myList.Select(row => row); //do smth with row 

,但如果你wnat讓你的雙列二維數組我建議你看看Math.NET庫,它包含很多合適的數學結構的實現。例如,你可以找到矩陣和向量的實現。

1

我不熟悉的Matlab但假設您的基質爲List<List<string>> X

var y = x.SelectMany(r => r[2]); 

會給你列的項目列表3

var z = x[3]; 

會給你一個列表第4行中的項目