【问题标题】:C# List of Items with multiple values [closed]C# 具有多个值的项目列表 [关闭]
【发布时间】:2025-11-25 15:55:02
【问题描述】:

首先请原谅我,因为我仍在努力掌握 C# 和 OOP。

作为挑战的一部分,我正在尝试构建一个简单的控制台购物篮,并且我有许多产品,我需要能够使用这些产品来填充购物篮的 5 种不同场景。

但是,我不确定列出每个具有三个不同值(Desc、Dept、Price)的每个产品的最佳方法,并且我希望能够通过数组选择我需要的项目,可能。

目前我列出的项目如下:

        itemOnePrice = 10.50m;
        itemTwoPrice = 54.65m;
        itemThreePrice = 03.50m;
        itemOneDept = "Clothing";
        itemTwoDept = "Clothing";
        itemThreeDept = "Head Gear";
        itemOneDesc = "Hat";
        itemTwoDesc = "Jumper";
        itemThreeDesc = "Head Light";

我查看了 Lists 和 Tuple,但我无法弄清楚如何真正让这些对我有用。有人可以解释列出这些产品以填充我的购物篮内容的最佳方法吗?

【问题讨论】:

  • 你应该有一个 item 类,它有 pricedescriptiondepartment,然后有一个 item 数组。
  • 请定义您对“更好”的标准是什么,以便可以提供“最佳方法”。请注意,您似乎尚未阅读有关 C# 中的数组/类的内容 - 您可能希望先完成一本书的这些章节,然后再提出有关 SO 的问题。
  • 更好的意思是我没有创建大量变量,因为我知道这不是实现我想要实现的目标的最佳方式。我花了很长时间试图让 Tuple 工作,但我发现我无法成功地初始化它,并且一个列表最初似乎只允许我一个值,尽管我可以从回复中看到事实并非如此。我花了几个小时试图让它工作并研究各种方法,但我目前的理解是有限的。我没有意识到我会因为提出一个基本问题而被否决,抱歉。

标签: c# list tuples


【解决方案1】:

首先,创建一个类

class Item
{
    public decimal Price {get;set;}
    public string Department {get;set;}
    public string Description {get;set;}
}

其次,创建列表

List<Item> items = new List<Item>();

items.Add(new Item{Price = 10.5m, Department = "Clothing", Description = "Hat"});
items.Add(new Item{Price = 54.65m, Department = "Clothing", Description = "Jumper"});
items.Add(new Item{Price = 03.50m, Department = "Head Gear", Description = "Head Light"});

【讨论】:

  • 这绝不是“最好的”方法。创建可变属性的原因是什么?我认为不可变类会比你提出的更好。一定要讨论这个。 Desc 也不是一个词——这怎么能比“描述”更好?
  • 固定价格设定者。
  • @AlexeiLevenkov 这取决于 OP 的要求。不看细节,我无话可说。
最近更新 更多