c# - 使用 Linq 从字典中选择子集?
问题描述
我是新手C#
,我正在尝试使用 LINQ(或其他方法?)来选择Dictionary<string, int>
值(int
)大于 5 的对象的子集。
+-------------+------------+
| Key(string) | Value(int) |
+-------------+------------+
| 000 | 0 |
| 111 | 1 |
| 222 | 2 |
| 333 | 3 |
| 444 | 4 |
| 555 | 5 |
| 666 | 6 |
| 777 | 7 |
| 888 | 8 |
| 999 | 9 |
+-------------+------------+
我用这段代码创建了上面的字典对象,以简单地用一些数据填充字典:
Dictionary<string, int> linkCounter = new Dictionary<string, int>();
for (int i=0; i<=9; i++)
{
string key = i.ToString() + i.ToString() + i.ToString();
for (int n=0; n<=i; n++)
{
if (linkCounter.ContainsKey(key))
{
linkCounter[key]++;
}
else
{
linkCounter.Add(key, 0);
}
}
}
我怎样才能做相当于:
foreach (KeyValuePair<string, int> kvp in linkCounter
[其中 kvp.value > 5])
解决方案
添加
using System.Linq;
然后使用Where
var subset = linkCounter.Where(x => x.Value > 5);
foreach(KeyValuePair<string, int> kvp in subset)
{
// your code
}
推荐阅读
- javascript - 将 mat-select 绑定到 onOpen 事件
- python - .split() 是如何工作的?- Python
- spring-boot - RestTemplate 调用返回 401 Unauthorized
- forms - 我的 Xamarin 表单项目在 Android 设备中随机崩溃,运行时异常如下
- c# - 统一登录会话
- android - 应用程序在 eglSwapBuffers 上崩溃
- php - 警告:mysqli::mysqli(): (HY000/2002): /opt/lampp/htdocs/ 中的连接超时
- xml - XML 使用 XSL 展平 CSV/JSON 转换
- google-calendar-api - Google 日历,日历所有者是否可以向第 3 方查看者显示空闲时间并允许他们提交预订?
- gradle - 使用 doLast 的 Gradle Sync 任务不起作用