【问题标题】:How do I modify the value of an element in a list of type class containing a string and an integer?如何修改包含字符串和整数的类型类列表中元素的值?
【发布时间】:2014-09-19 02:27:29
【问题描述】:

我是编程新手,所以这可能是一个非常基本的问题。我创建了一个包含整数和字符串的类列表,我想更改特定索引的整数值和/或特定索引的字符串名称。这是我的代码:

class Sales
    {
        public Sales(string name, int quantitySold)
        {
            Name = name;
            QuantitySold = quantitySold;
        }

        public string Name { get; set; }
        public int QuantitySold { get; set; }
    }

 class Restaurant
    {
       private List<Sales> _quantityHistory = new List<Sales>();

       public List<Sales> QuantityHistory
       {
            get { return _quantityHistory; }
       }
    } 

【问题讨论】:

  • 我在理解您想要做什么时遇到了一些问题。所以你只是想改变你在代码中使用的对象的值?
  • 你的意思是像myRestaurant.QuantityHistory[0].QuantitySold = 42;? (假设 Restaurant myRestaurant = new Restaurant(); 并且您已将至少一项添加到 QuantityHistory 列表中。)
  • 是的,没什么特别的,我只是个初学者。特别是类列表中的一个对象。

标签: c# list class


【解决方案1】:

如果你想改变一个对象的属性,这很简单,让我来指导你。

Sales mySale = new Sales()

这将是我们的对象,目前它是空的,因为我们刚刚初始化了一个空变量,但是如果我们想用一个值来初始化它呢?好吧,我们可以这样做:

Sales mySale = new Sales()
{
  Name = "SaleName",
  QuantitySold = 5,
};

EDIT 刚刚意识到您的对象构造函数正在初始化作为参数传入的变量!如果你有 getter 和 setter 并且你使用创建变量的方法,那么你实际上不需要在构造函数中包含它们!

基本上我们首先声明对象拥有的属性名称,然后是值。

但是如果我们想在某个地方改变它呢?好吧,假设到目前为止,在我们的代码中,我们所做的与上面所做的完全一样,在某个地方有人进行了购买,所以我们需要在对象的 QuantitySold 中再添加一个,这很简单,只需这样做:

mySale.QuantitySold = mySale.QuantitySold++;

如果我们需要更改名称,请与名称相同!

mySale.Name = "TheNewSaleName";

基本上我们只使用我们创建的对象的变量名,后跟句号和属性名,我们可以随意更改它!

当使用对象列表时,您可以简单地使用列表的索引进行搜索,例如:

_quantityHistory[2].Name = "TheNewNameOfThe3rdObject";

希望这对朋友有所帮助。

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多