Mit linq in csharp kann kein Diagramm erstellt werden

Ich programmiere in Microsoft Visual Studio 12 in ASP.net mit C # und einem Noob.

So sieht eine CSV-Datei aus

ID, Engine Type, Car
111,vtec, 1
131,vtec, 1
157,boxer,1
148,boxer,1
167,vtec,1
158,,0
107,,0

ID sollte eine generische Autonummer sein, Motortyp sollte eine Typzeichenfolge sein und ich weiß nicht, was Car sollte, da es aus Einsen und Nullen besteht, die Boolesche Werte darstellen. Dies bedeutet, dass 1-Kunde ein Auto hat und 0 bedeutet, dass der Kunde kein Auto hat.

So erstelle ich daraus eine Liste.

var testingobject = (
    from line in File.ReadAllLines("testing.csv").Skip(0)
    let parts = line.Split(',')
    select new
    {
        ID = parts[0],
        Engine_Type = parts[1],
        Car = parts[2] //should i put int32.parse(parts[2]) here
    ).ToList();

Ich erstelle ein einfaches Array, bestehend aus ID, Motortyp, Auto, konvertiere es in eine Liste mitToList() und binde es dann mit folgendem Code an eine Dropdown-Liste:

string[] testingddl = new string[] { "ID", "Engine Type", "Car" };
List<String> mytestinglist = testingddl.ToList();
var mytestin = from m in mytestinglist
select m;
DropDownList1.DataSource = mytestin.AsEnumerable();
DropDownList1.DataTextField = "";
DropDownList1.DataValueField = "";
DropDownList1.DataBind();

Der Benutzer wählt "Auto" und sollte mir ein Diagramm mit dem Motortyp "X-Achse" und "Gesamt" auf der Y-Achse geben.

Das Problem: Die Spalte besteht aus 1 und 0 und gibt an, ob der Kunde ein Auto hat (1) oder nicht (0).
Ich möchte anzeigen, wie viele Benutzer über unterschiedliche Motortypen verfügen, und diese an ein, beispielsweise ein Säulendiagramm, binden. Die Daten sollten also auf der x-Achse angezeigt werden, der Motortyp und die y-Achse sollten die Summe haben. nach den daten gibt es 3 vtecs und 2 boxer. Vtecs repräsentieren also eine Spalte mit 3 und Boxer mit 2.

Ich benutze diese Linq-Abfrage und den folgenden Diagrammbindungscode.

if (tempval == "Car")// this is the current selected dropdown list value
{
    var myfavitems = testingobject.Where(a => a.Car == "1").ToList();
    foreach (var t in myfavitems.GroupBy(a => a.Engine_Type))
    {
        Series Series1 = new Series();
        Chart1.Series.Add(Series1);
        Chart1.Series[1].Points.AddXY(t.Key.ToString(), t.Count().ToString()).ToString();
        Chart1.DataSource = myfavitems.AsEnumerable();
        Chart1.Series[1].XValueMember = "Group Equipment Type";
        Chart1.Series[1].YValueMembers = "Software";
        Chart1.DataBind();
    // ...??

Der Fehler tritt an dem Punkt auf, an dem ich meine Spalten aus den CSV-Dateien lese. Der Fehler sagtFormat exception was unhandled by user code: Input string was not in a correct format

select new  
{
    ID = parts[0],
    Engine_Type = parts[1],
    Car = Int32.Parse(parts[2])
}

Ich weiß nicht, was an dieser Aussage falsch ist. Könnte mir bitte jemand helfen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage