[英]Adding items when a button is pressed in c# console application
我一直在研究一個小型的控制台應用程序,該應用程序具有一個項目列表,當按下數字時,相關項目應計算為總數(完成)。
問題在於如何將這些項目添加到列表視圖並在控制台應用程序中顯示它們。 這就是我到目前為止所擁有的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SuperMarcado
{
class MainClass
{
public static void Main(string[] args)
{
ShoppingCart myCart = new ShoppingCart();
Product[] shopProducts = new Product[]
{
new Product("Cheese", 6, "Milk Cheese", "3/12/2016", 4),
new Product("Bread", 2, "Grain Bread", "27/11/2016", 8),
new Product("Ice Cream", 10, "Ice Cream", "09/11/2001", 1),
new Product("Cookies", 100, " Chocolate Cookies", "00/00/0000", 5),
new Product("Biscuits", 0.25f, "Vanila ", "08/01/2006", 6)
};
Shop shop = new Shop(shopProducts);
shop.DisplayProducts();
Console.WriteLine("------------------------------------------------------------");
myCart.printY = Console.CursorTop;
myCart.Display();
ConsoleKeyInfo input;
while ((input = Console.ReadKey(true)).Key != ConsoleKey.Escape)
{
if (!Char.IsDigit(input.KeyChar))
return;
int index = Convert.ToInt16(input.KeyChar.ToString()) - 1;
if (index < 1 || index > shop.products.Length)
return;
myCart.AddProduct(shop.products[index]);
shop.DecreaseAmount(shop.products[index]);
shop.DisplayProducts();
myCart.Display();
int userInput = 0;
do
{
userInput = ShoppingCart();
} while (userInput != 5);
}
}
static public int ShoppingCart()
{
Console.WriteLine("Your cart");
Console.WriteLine();
var result = Console.ReadLine();
return Convert.ToInt32(result);
}
}
}
首先,您的問題是第二個循環,將其刪除,它應該可以正常工作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SuperMarcado
{
class MainClass
{
public static void Main(string[] args)
{
ShoppingCart myCart = new ShoppingCart();
Product[] shopProducts = new Product[]
{
new Product("Cheese", 6, "Milk Cheese", "3/12/2016", 4),
new Product("Bread", 2, "Grain Bread", "27/11/2016", 8),
new Product("Ice Cream", 10, "Ice Cream", "09/11/2001", 1),
new Product("Cookies", 100, " Chocolate Cookies", "00/00/0000", 5),
new Product("Biscuits", 0.25f, "Vanila ", "08/01/2006", 6)
};
Shop shop = new Shop(shopProducts);
shop.DisplayProducts();
Console.WriteLine("------------------------------------------------------------");
myCart.printY = Console.CursorTop;
myCart.Display();
ConsoleKeyInfo input;
while ((input = Console.ReadKey(true)).Key != ConsoleKey.Escape)
{
if (!Char.IsDigit(input.KeyChar))
return;
int index = Convert.ToInt16(input.KeyChar.ToString()) - 1;
if (index < 1 || index > shop.products.Length)
return;
myCart.AddProduct(shop.products[index]);
shop.DecreaseAmount(shop.products[index]);
shop.DisplayProducts();
myCart.Display();
//int userInput = 0;
//do
//{
// userInput = ShoppingCart();
//} while (userInput != 5);
}
}
//static public int ShoppingCart()
//{
// Console.WriteLine("Your cart");
// Console.WriteLine();
// var result = Console.ReadLine();
// return Convert.ToInt32(result);
//}
}
}
購物車類
using System;
using System.Collections.Generic;
namespace SuperMarcado
{
internal class ShoppingCart
{
internal int printY;
internal List<Product> productList;
public ShoppingCart()
{
productList = new List<Product>();
}
internal void Display()
{
if (productList.Count == 0)
Console.WriteLine("------------------ EMPTY CART------------------ ");
foreach (var prod in productList)
Console.WriteLine(prod.Name + " value: " + prod.Value);
}
internal void AddProduct(Product product)
{
productList.Add(product);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.