如何在VB.Net中向此示例添加另一个值



如何添加另一个值/参数/变量到这个例子?

Dim pricesList As New List(Of KeyValuePair(Of String, String))
pricesList.AddRange({New KeyValuePair(Of String, String)("$5", "1"),
                     New KeyValuePair(Of String, String)("$3", "2")})
For Each item As KeyValuePair(Of String, String) In pricesList
    Console.WriteLine(String.Format("Price: {0}, Value {1}", item.Key, item.Value))
Next item
所以我得到了像 这样的东西
Dim pricesList As New List(Of KeyValuePair(Of String, String))
pricesList.AddRange({New KeyValuePair(Of String, String)("$5", "1","1","1"),
                     New KeyValuePair(Of String, String)("$3", "2","2","2")})
For Each item As KeyValuePair(Of String, String) In pricesList
    Console.WriteLine(String.Format("Price: {0}, Value {1}, Value {1}, Value {1}, Value {1}", item.Key, item.Value))
Next item

您不能将数组传递给String.Format并让数组的不同元素替换字符串中的不同参数。您可以执行如下操作。注意,我将List (Of KeyValuePair)改为Dictionary,因为这似乎更有意义。由于键和值似乎都是整数,您可能还希望使用整数(或某种数字)值而不是字符串。

[Edit]作为对评论的回应,添加了一个语句来显示使用TextBoxes中的值向Dictionary添加项的示例。

Dim pricesList As New Dictionary(Of String, String()) _
    From {{"$5", {"1", "1", "1"}}, {"$3", {"2", "2", "2"}}}
pricesList.Add(PriceTextBox.Text, {V1TextBox.Text, V2TextBox.Text, V3TextBox.Text})
For Each item As KeyValuePair(Of String, String()) In pricesList
    Console.WriteLine(String.Format("Price: {0}, Value {1}, Value {2}, Value {3}", item.Key, item.Value(0), item.Value(1), item.Value(2)))
Next item

最新更新