Vous pouvez effectuer la même opération de base en C # via:
Tuple<double[][], string[]> GetElections()
{
var file = @"C:\Users\Deines\Documents\Election2008.txt";
var fileAsLines = File.ReadLines(file).Select(line => line.Split(','));
var dataset = fileAsLines.Select(line => new[]
{
Convert.ToDouble(line[1]),
Convert.ToDouble(line[2]),
Convert.ToDouble(line[3])
}).ToArray();
var labels = fileAsLines.Select(line => line[4]).ToArray();
return Tuple.Create(dataset, labels);
}
Cela étant dit, les développeurs C # écriraient rarement ceci de cette manière. Il serait plus probable que vous fassiez un type personnalisé pour contenir les résultats (avec des valeurs de nom +) et de le lire de cette façon, c'est-à-dire:
class ElectionResult
{
public ElecationResult(string label, double x, double y, int amount)
{
this.Label = label;
this.Point = new Point(x,y);
this.Amount = amount;
}
string Label { get; private set; }
Point Location { get; private set; }
int Amount { get; private set; }
}
IList<ElectionResult> GetElectionResults()
{
var file = @"C:\Users\Deines\Documents\Election2008.txt";
var fileAsLines = File.ReadLines(file).Select(line => line.Split(','));
return fileAsLines.Select(line => new ElectionResult(line[4],
Convert.ToDouble(line[1]),
Convert.ToDouble(line[2]),
Convert.ToInt32(line[3]))
.ToList();
}
Cela rend beaucoup plus utilisable pour un développeur C # typique, car il n'y a pas de correspondance de modèle pour extraire les tableaux du résultat du tuple.