【问题标题】:How to clear a list of type class如何清除类型类列表
【发布时间】:2025-12-14 16:10:02
【问题描述】:

我有一个列表,它在满足特定条件后从/到我的类“类型”获取和设置数据我想清除这里收集的所有变量值是我的代码

List<Type> Win = new List<Type>();
void Check(int a)
{
    if (a>10)
    {                      
        Win.Add(new Type() { Power = 10 + a * 100, Current = 1 });
    }
    if(a<10)
    {
         Win.Add(new Type() { Power = 10 + a * 100, Current = 1 });
    }
}

我的班级:

public class Type
{
    public int Power { get; set; }
    public int Current { get; set; }
}

像这样它总是会输入 2 if 至少一次,因为我给他一个参数“a”,a 会改变,比如说 5 次,它会得到很多不同的值。我怎样才能清除整个“Type.Power”和“Type.Current”变量还是只清除整个列表“Win”?

【问题讨论】:

  • 清除整个列表“赢”是什么意思?
  • 清除整个列表“赢”意味着删除所有数据,我认为很明显我已经在下面找到答案了
  • 旁注:如果a == 10if 都不会被执行。另外,ifs 的主体是相同的。你可以做if (a != 10) {...}
  • 这只是一个示例代码,我并没有真正使用上面显示的 if 语句

标签: c# class variables


【解决方案1】:

要清空整个列表,您可以使用.Clear()

Win.Clear();

要重置列表中每个实例的“Type.Power”和“Type.Current”的所有实例,您需要迭代列表并将成员更新为默认值 0。

Win.ForEach(x => 
    {
        x.Power = 0;
        x.Current = 0;
    });

【讨论】:

  • 感谢您的快速回复!