首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用linq将( TK,TV的)IDictionary过滤为( TK,TV的)IDictionary

使用linq将( TK,TV的)IDictionary过滤为( TK,TV的)IDictionary
EN

Stack Overflow用户
提问于 2008-12-12 15:02:42
回答 1查看 534关注 0票数 1

一些非常基本的东西似乎从我的记忆中消失了。

代码语言:javascript
复制
Dim foo As New Dictionary(Of String, String)
foo.Add("key", Nothing)
foo.Add("key2", "something")

我希望得到一个IDictiorany(字符串,字符串),其中只包含具有非空值的元素。我以为这样就行了:

代码语言:javascript
复制
foo.Where(Function(x) Not String.IsNullOrEmpty(x.Value))

但这最终是错误的类型。添加:

代码语言:javascript
复制
.ToDictionary(Function(x) x.Key)

也没有任何帮助。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-12-12 15:10:52

啊..。回答了我自己的问题。我会把它留下来,以防它对其他人有用。

代码语言:javascript
复制
Dim foo As Dictionary(Of String, String)
foo.Add("k1", Nothing)
foo.Add("k2", "something")

Dim IDictionary(Of String, String) res = foo _
    .Where(Function(x) Not String.IsNullOrEmpty(x.Value)) _
    .ToDictionary(Function(x) x.Key, Function(y) y.Value)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/362999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档