计算 ObservableCollection 中等于 1 的项目数 - C#

St0*_*fer 3 c# sql count distinct observablecollection

我进行了 SQL 查询并将数据填充到 ObservableCollection。数据库包含许多列,因此我想计算特定列 = 1 的实例有多少个,然后将该数字返回为 int。

查询:

var test = from x in m_dcSQL_Connection.Testheaders 
           where dtStartTime <= x.StartTime && dtEndtime >= x.StartTime 
           select new {
                         x.N, 
                         x.StartTime, 
                         x.TestTime, 
                         x.TestStatus, 
                         x.Operator, 
                         x.Login,
                         x.DUT_id, 
                         x.Tester_id, 
                         x.PrintID 
                       };
Run Code Online (Sandbox Code Playgroud)

然后我通过以下方式将从数据库中提取的数据添加到可观察集合中:

lstTestData.Add(new clsTestNrData(item.N.ToString(), 
                    item.StartTime.ToString(), 
                    item.TestTime.ToString()
                    etc.....
Run Code Online (Sandbox Code Playgroud)

我想计算有多少次 TestStatus = 1。

我已经阅读过有关 .Count 属性的内容,但我不完全理解它在 ObservableCollections 上的工作原理。

有什么帮助吗?

toa*_*akz 6

标准ObservableCollection<T>.Count属性将为您提供集合中的项目数。

您正在寻找的是这样的:

testStatusOneItemCount = lstTestData.Where(item => item.TestStatus == 1).Count()
Run Code Online (Sandbox Code Playgroud)

...它使用IEnumerable<T>.Count()属于 LINQ 一部分的方法。