如何计算项目数量>;字典中的0<;字符串,int>;在C#/.Net中使用Linq?

如何计算项目数量>;字典中的0<;字符串,int>;在C#/.Net中使用Linq?,c#,.net,linq,C#,.net,Linq,嗨,我有一本字典,定义如下: Dictionary<string, int> sampleDictionary; 字典样本字典; 我希望能够做到以下几点: 1) 选择项大于0的值列表 我尝试过使用sampleDictionary.SelectMany()和sampleDictionary.Select(), 但我似乎不太懂语法 有人能帮我指出正确的方向吗 谢谢, JohnB您有两种方法 一种是获取字典的Values属性,然后对其执行linq操作 sampleDictionary.

嗨,我有一本字典,定义如下:

Dictionary<string, int> sampleDictionary;
字典样本字典;
我希望能够做到以下几点:

1) 选择项大于0的值列表

我尝试过使用sampleDictionary.SelectMany()和sampleDictionary.Select(), 但我似乎不太懂语法

有人能帮我指出正确的方向吗

谢谢,
JohnB

您有两种方法

一种是获取字典的Values属性,然后对其执行linq操作

sampleDictionary.Values.Where(...).Select(...)
另一种方法是使用每个键值对的
value
属性

sampleDictionary.Where(x => x.Value > 0).Select(x => x.Value);

你有几种方法

一种是获取字典的Values属性,然后对其执行linq操作

sampleDictionary.Values.Where(...).Select(...)
另一种方法是使用每个键值对的
value
属性

sampleDictionary.Where(x => x.Value > 0).Select(x => x.Value);

你总是可以用这种方法

foreach(int i in sampleDictionary.Values)
{

    if(i > 0)
    {
      //...
    }    

}

你总是可以用这种方法

foreach(int i in sampleDictionary.Values)
{

    if(i > 0)
    {
      //...
    }    

}
希望这有帮助

您可以使用查询语法来完成。我认为如果你不熟悉Linq,你会更容易理解

Dim sampleDictionary作为新字典(字符串、整数)

如果您想要更简短的语法,也可以使用lambda样式。希望能有所帮助

您可以使用查询语法来完成。我认为如果你不熟悉Linq,你会更容易理解

Dim sampleDictionary作为新字典(字符串、整数)


如果需要更短的语法,也可以使用lambda样式

此代码将统计值大于零的项数

var result = (from x in sampleDictionary.Values where x > 0 select x).Count();

此代码将统计值大于零的项目数

var result = (from x in sampleDictionary.Values where x > 0 select x).Count();

您所说的值列表是什么意思?如果要筛选,您需要先使用
Where
。然后,您可以使用
Select
选择键或值。现在我不确定您想要哪一个。如果您只想要int值,请从
sampleDictionary.values
开始linq。您只需要int值,还是还需要与之关联的字符串键?请显示您的代码。谢谢,我终于找到了:sampleDictionary.Where(item=>item.Value>1)您所说的值列表是什么意思如果要筛选,您需要先使用
Where
。然后,您可以使用
Select
选择键或值。现在我不确定您想要哪一个。如果您只想要int值,请从
sampleDictionary.values
开始linq。您只需要int值,还是还需要与之关联的字符串键?请显示您的代码。谢谢,我终于找到了它:sampleDictionary.Where(item=>item.Value>1)这个问题专门问如何使用Linq…这个问题专门问如何使用Linq。。。