【发布时间】:2012-11-28 16:42:48
【问题描述】:
我有一个 Dictionary 对象声明为var as Dictionary(of String, String)。
我正在尝试利用通用集合可用的 LINQ 扩展,但我只获得了非扩展方法。
我需要将 Dictionary 集合转换为具有以下模式的字符串:key1=val1, key2=val2, ..., keyn=valn
一开始我以为做一个 foreach 循环会成功,除了我是程序员块。
到目前为止我有什么,但怀疑它是产生这个的最佳逻辑模式:
Public Overrides Function ToString() As String
Dim ret As String = ""
For Each kv As KeyValuePair(Of String, String) In Me._set
If ret <> String.Empty Then
ret &= ", "
End If
ret &= String.Format("{0}={1}", kv.Key, kv.Value)
Next
Return ret
End Function
由于某种原因,即使我已将 System.Core 和 System.Linq 库导入项目,但我的 dev-env 智能感知中没有显示任何扩展的 LINQ 扩展。所以现在,除非有人可以帮助我让 LINQ 扩展显示在 Intellisense 中,否则它们是不可能的。
发现 LINQ 扩展没有显示的问题,所以它们又回到了桌面上 ;)
【问题讨论】:
-
我会这样写 Linq(对不起 C#-vb.net 汤...) var ret = String.Join(",",Me._set.Select(kvp=>String .Format("{0}={1}",kvp.Key, kvp.Value).ToArray());
-
把它作为一个答案....我做了足够的 C# 开发来理解它。使用 VB.Net 更舒服。
-
.net 专家似乎更喜欢 vb.net 而不是 C#。他们不会错的。我想我只是涡轮帕斯卡一代,有分号和花括号;-)
标签: vb.net collections .net-4.0 generic-collections