C# 有没有更好的方法可以在课堂上多次数数列表?

C# 有没有更好的方法可以在课堂上多次数数列表?,c#,.net,C#,.net,我有这样的财产: private int _Counter; public int Counter; { get { return _Counter; } set { _Counter = value; OnPropertyChanged(); } ) 在课堂上,我必须在一些动作之后多次检查计数器值 Counter = List.Where(item => item.State.ToUpper() = "SOME STATE").Count();

我有这样的财产:

private int _Counter;
public int Counter;
{ 
    get { return _Counter; }
    set { _Counter = value; OnPropertyChanged(); }
)
在课堂上,我必须在一些动作之后多次检查计数器值

Counter = List.Where(item => item.State.ToUpper() = "SOME STATE").Count();
  • 我总是需要调用上面的整行代码来计算列表,还是有一种简单的方法?将代码直接放入属性或其他内容中
  • 我是否可以将通用于的属性(例如ViewModelBase)放入其他类中,然后将其继承到其他类中

  • 谢谢

    我猜您有一个UI元素来显示更新的计数,它是从特定的计数逻辑派生出来的

    在这种情况下,您的计数可能在BaseViewModel上,但可能很简单

    public virtual int Counter;
    { 
        get ;
        set ;
    )
    
    public ObservableCollection<YourType> Items {get;set;} 
    
    现在,您希望在子视图模型中有一些内容来侦听OnCollectionChange,然后通过设置来宣布计数更改

    this.Count = // your counting logic 
    

    因此,我认为没有必要多次设置此值,除非我错过了您试图实现的目标
    public int Counter=>List.Where(item=>item.State.ToUpper()=“SOME State”).Count()
    是最短的方法,尽管它没有实现
    PropertyChanged
    (我使用Fody.PropertyChanged)。对是的,您可以将代码放入属性或私有方法中,并调用它们。
    this.Count = // your counting logic