Невозможно создать диаграмму, используя linq в csharp
Я кодирую в Microsoft Visual Studio 12 в ASP.net, используя c # и нуб в нем.
Вот как выглядит CSV-файл
ID, Engine Type, Car
111,vtec, 1
131,vtec, 1
157,boxer,1
148,boxer,1
167,vtec,1
158,,0
107,,0
Идентификатор должен быть общим автономным номером, тип двигателя должен быть строкой типа, и я не знаю, что должен делать Car, потому что он состоит из 1 и 0, представляющих логическое значение. Это означает, что у 1 клиента есть автомобиль, а у 0 - автомобиля нет.
Вот как я создаю список из него.
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();
Я создаю простой массив, который состоит из ID, Тип двигателя, Car преобразовать его в список, используяToList()
а затем привязать его к выпадающему списку, используя этот код:
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();
Пользователь выбирает автомобиль и должен дать мне график, который имеет тип двигателя по оси X и общее количество по оси Y.
Проблема: Столбец состоит из 1 и 0, что означает, есть ли у клиента автомобиль (1) или нет (0).
Я хотел бы посмотреть, сколько пользователей имеют различные типы типов двигателей, и связать его с, скажем, столбчатой диаграммой. Таким образом, данные должны отображаться на оси X, тип двигателя и оси Y должны иметь общую сумму. По данным, 3 игрока и 2 боксера. Таким образом, vtecs представляет столбец с 3 всего и боксеров с 2.
Я использую этот запрос linq и следующий код привязки диаграммы.
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();
// ...??
Ошибка возникает в тот момент, когда я читаю свои столбцы из CSV-файлов. Ошибка говоритFormat 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])
}
Я не знаю, что не так с этим утверждением. Может кто-нибудь, пожалуйста, помогите мне.