2016-05-20 11 views
0

Ich benutze Dapper, um meine Objekte aus der Datenbank in lambda-fähige Listen von Objekten zu konvertieren (zB: List<complexObject1>) Ich habe Probleme mit der Datenanalyse dieser Objekte.Was ist das C# -Äquivalent der Matlab-Matrizen-Vektorisierung?

x = eye(10,10) 

y = x(:,1) 

z = x(1,:) 

Ich verstehe, dass C# kein statistisch typisierte Sprache ist, aber es ist ihr eine vernünftige Art und Weise (ohne:

In Matlab kann ein Vektor aus einer Matrix, die durch Verwendung des folgenden Code-Schnipsel gemacht werden Verwenden Sie mehr als 3 for Schleifen), um diese Daten aus einem List<List<string>> zu extrahieren?

Antwort

1

Eigentlich ist C# eine statisch typisierte Sprache, und wenn Sie List<List<string>> haben, können Sie easilly Zeilen zugreifen, indem Sie mit foreach Schleife oder LINQ-Erweiterungen wie folgt aus:

     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 

aber wenn Sie wnat Spalten Ihrer zwei- zu bekommen dimensionale Array Ich schlage vor, Sie auf Math.NET Bibliothek zu betrachten, enthält es Implementierungen von vielen geeigneten mathematischen Strukturen.Zum Beispiel dort können Sie die Umsetzung von Matrix und Vektor finden.

1

Ich bin mit Matlab nicht vertraut, ist aber Ihre Matrix unter der Annahme, in einer List<List<string>> x

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

Sie in der Spalte 3 eine Liste der Gegenstände geben würde

var z = x[3]; 

würde eine Liste der Artikel in Zeile 4

Verwandte Themen