C# 如何计算篮子中的项目总数
下面的类是我为购物篮创建的。我是否朝着实现预期结果的方向前进C# 如何计算篮子中的项目总数,c#,C#,下面的类是我为购物篮创建的。我是否朝着实现预期结果的方向前进 namespace Basket { public class ShoppingBasket { private string productName; private decimal latestProductValue; private int quantity; private decimal Total; public void A
namespace Basket
{
public class ShoppingBasket
{
private string productName;
private decimal latestProductValue;
private int quantity;
private decimal Total;
public void AddProduct( string productName, decimal latestProductValue, int quantity)
{
string ProductName = productName;
decimal LatestProductValue = latestProductValue;
int Quantity = quantity;
}
public string ProductName
{
get { return productName; }
set
{
if (productName == ProductName)
productName = ProductName;
}
}
public decimal LatestProductValue
{
get { return latestProductValue; }
set
{
if (latestProductValue == LatestProductValue)
latestProductValue = LatestProductValue;
}
}
public int Quantity
{
get { return quantity; }
set
{
if (quantity > 0)
quantity = value;
}
}
public decimal GetTotal
{
get { return quantity * latestProductValue; }
}
}
}
此处为示例项目:
这是你应该做的:
篮球项目类别
public class BasketItem {
private string itemName = string.Empty;
private decimal itemPrice = 0;
public string ItemName {
get {
return itemName;
}
set {
itemName = value;
}
}
public decimal ItemPrice {
get {
return itemPrice;
}
set {
itemPrice = value;
}
}
}
public class Basket {
private List<BasketItem> lstBasketItems = new List<BasketItem>();
public void AddItemToBasket(BasketItem addedItem) {
lstBasketItems.Add(addedItem);
}
public decimal CalculateTotal() {
decimal total = lstBasketItems.Sum(x => Convert.ToDecimal(x.ItemPrice));
return total;
}
}
篮类
public class BasketItem {
private string itemName = string.Empty;
private decimal itemPrice = 0;
public string ItemName {
get {
return itemName;
}
set {
itemName = value;
}
}
public decimal ItemPrice {
get {
return itemPrice;
}
set {
itemPrice = value;
}
}
}
public class Basket {
private List<BasketItem> lstBasketItems = new List<BasketItem>();
public void AddItemToBasket(BasketItem addedItem) {
lstBasketItems.Add(addedItem);
}
public decimal CalculateTotal() {
decimal total = lstBasketItems.Sum(x => Convert.ToDecimal(x.ItemPrice));
return total;
}
}
这是一个非常简单的示例,未经测试。我试着向你展示你应该如何做到这一点。也不是说这个示例不处理在页面调用之间存储篮子。您很可能会使用会话状态或类似的方式来实现逻辑。否。您的“篮子”只包含一个产品?难道你不想在篮子里放一个收集对象,这样你就可以存储重复的调用来添加更多的产品吗?创建一个单独的“BasketItem”类,该类包含名称、数量、成本,然后将它们添加到Items collectionok我会这样做的。感谢您的帮助。我将研究如何实现此解决方案,然后再与您联系。刚刚实现了您的解决方案,但它有错误。您能否提供一些详细信息?我将再次尝试您的代码,并让您知道发生了什么。@L.Russell它工作得非常好。您可以下载示例项目。我把它包括在我的回答中。