字典(字符串,字符串)C#中缺少Item属性

时间:2017-03-07 16:35:48

标签: c# vb.net dictionary

我正在将这个VB.NET代码转换为C#。

Dim dict As New Dictionary(Of String, String)

If dict.TryGetValue(key, val) Then
   dict.Item(key) = val & "~" & row.Item(y).ToString
Else
   dict.Add(key, row.Item(y).ToString)
End If

这是C#代码。注意If dict.TryGetValue之后的行。 Intellisense不会在C#中显示Item属性。 C#的正确语法是什么?

Dictionary<string, string> dict = new Dictionary<string, string>();

if (dict.TryGetValue(key, out val)) {
    dict.Item[key] = val + "~" + row.ItemArray[y].ToString();
} else {
    dict.Add(key, row.ItemArray[y].ToString());
}

2 个答案:

答案 0 :(得分:3)

在C#中访问字典中键的值的方法如下:

dict[key]

这就是说这句话:

dict.Item[key] = val + "~" + row.ItemArray[y].ToString();

应该如下所示更改

dict[key] = val + "~" + row.ItemArray[y].ToString();

答案 1 :(得分:3)

dict.Item[key]应为dict[key]。您正在访问Indexer,可以直接从定义它们的实例访问它们。

另见Indexers (c#)