这是工作的VB代码,我选择要写入文件的Dictionary的值。
Dim csv As String = String.Join(Environment.NewLine,
dmap.Select(Function(d) d.Key & "," & d.Value))
Dim filePath As String = My.Computer.FileSystem.SpecialDirectories.Desktop & "\myfile.csv"
If File.Exists(filePath) Then
File.Delete(filePath)
End If
'
File.WriteAllText(filePath, csv)
我尝试将第1行的Lambda转换为C#,并且做到了这一点:
string csv = string.Join(Environment.NewLine, dmap.Select(d => d.Key + "," + d.Value));
从红色开始强调从dmap.Select
到结尾的所有问题。
以下是它的说法:
System.Collections.Generic.Dictionary不包含'选择'的定义。接受类型为Dictionary的第一个参数可以找到。
这是什么问题?非常感谢!
答案 0 :(得分:3)
根据您在评论中提到的错误,它说:
System.Collections.Generic.Dictionary不包含'选择'的定义。接受类型为Dictionary的第一个参数可以找到。
这很可能是因为您缺少对Linq库的引用,Linq库扩展了使用this and other methods实现IEnumerable
的类。
尝试将其添加到代码文件的顶部:
using System.Linq;