Citat:
tack så mycket för ditt svar, såhär ser min loadcart_click ut just nu :Ska göra ett försök:
Det finns flera sätt att göra ovanstående mycket snyggare, men då jag gissar att du är nybörjare känns detta som en lämplig nivå att börja på.
Försöka att fylla hela din cartList med hjälp av ovanstående metod, sen i nästa steg kan vi ta och fylla din ListBox på ett snygg sätt (om du inte klurar ut det på egen hand)
Kod:
//Du har din cartList: var cartList = new List<Product>(); /*Jag vet inte hur innehållet i din csv ser ut, men jag antar * att varje rad representerar en product(?). * I så fall borde varje line då får tillbaka av din StreamReader se ut * ungefär som nedan: (namn,beskrivning,pris): */ var line = "Falurut,Knäckebröd från Falun,46"; //Som du redan vet kommer detta inte att fungera: //cartList.Add(line); //MEN //Detta kommer att fungera: // cartList.Add(new Product()); /*Ovanstående lägger till en ny produkt i din cartList, * men det kommer dock inte hjälpa dig särskilt mycket * eftersom du vill lägga till en ny produkt som har samma * egenskaper som finns i variabeln "line". */ //Så gör såhär: var lineData = line.Split(','); //Ovanstående returnerar en string array med följande innehåll: //Index 0: "Falurut" //Index 1: "Knäckebröd från Falun" //Index 2: "46" //Nästa steg... var productFromLine = new Product(); productFromLine.Name = lineData[0]; productFromLine.Description = lineData[1]; productFromLine.Price = double.Parse(lineData[2]); //Sista steget... cartList.Add(productFromLine);
Det finns flera sätt att göra ovanstående mycket snyggare, men då jag gissar att du är nybörjare känns detta som en lämplig nivå att börja på.
Försöka att fylla hela din cartList med hjälp av ovanstående metod, sen i nästa steg kan vi ta och fylla din ListBox på ett snygg sätt (om du inte klurar ut det på egen hand)
Kod:
problemet är att det kraschar eller jag får detta meddelandet från :private void LoadCart_click(object sender, EventArgs e) { using (StreamReader sr = new StreamReader(@"C:\Windows\Temp\SavedCartsheet.csv")) { string line; while ((line = sr.ReadLine()) != null) listBox2.Items.Add(line); var lineData = line.Split(','); var productFromLine = new Product(); { productFromLine.Name = lineData[0]; productFromLine.Description = lineData[1]; productFromLine.Price = double.Parse(lineData[2]); } cartList.Add(productFromLine); }
var lineData = line.Split(',');
och det står System.NullReferenceException: 'Objektreferensen har inte angetts till en instans av ett objekt.'
Hur gör jag härifrån? och jo jag är nybörjare haha..