1

一些非常基本的东西似乎在逃避我。

Dim foo As New Dictionary(Of String, String)
foo.Add("key", Nothing)
foo.Add("key2", "something")

我希望得到一个 IDictiorany(Of String, String) 回来,只有具有非空值的元素。我认为这会做到这一点:

foo.Where(Function(x) Not String.IsNullOrEmpty(x.Value))

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

.ToDictionary(Function(x) x.Key)

也无济于事。有小费吗?

4

1 回答 1

2

啊...回答了我自己的问题。将保留它以防万一它对其他人有任何用处。

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)
于 2008-12-12T15:10:51.570 回答