是否可以将字符串数组作为字典中的值?我需要将描述 (Hour2) 保存为键和值,以便能够同时访问价格 (elements_PR(4)) 和时间偏移量 (1)。有什么好的方法吗?
Dim pr_val(2) As String
Dim PR As New Dictionary(Of String, pr_val)
PR.Add("Hour2", {elements_PR(4), "1"})
是否可以将字符串数组作为字典中的值?我需要将描述 (Hour2) 保存为键和值,以便能够同时访问价格 (elements_PR(4)) 和时间偏移量 (1)。有什么好的方法吗?
Dim pr_val(2) As String
Dim PR As New Dictionary(Of String, pr_val)
PR.Add("Hour2", {elements_PR(4), "1"})
在我看来,您可以创建一个代表价格和时间偏移的类。因此,您可以执行类似PR.Add("Hour2", instanceOfClass)
.
根据您的情况描述的含义,您甚至可以将其包含在您的课程中。它允许您使用另一种方法,其中List(Of YourClass)
包含带有描述、价格和时间偏移的项目列表。要通过“键”检索项目,您可以使用一些 Linq。
没有理由不能这样做 - 如果元素的数量预先固定,你也可以使用 Tuple(Of String, String) 类型的值 - 在这种情况下为 2。执行起来会更容易比较,并且也是不可变的,这通常是一个好主意。
你当然可以。尝试这样的事情:
Dim PR As New Dictionary(Of String, IEnumerable(Of String))
PR.Add("Hour2", {elements_PR(4), "1"})
简短的回答 - 是的。假设在某处声明了以下内容:
Dim elements_PR(4) As String : elements_PR(4) = "Hello"
Dim PR As New Dictionary(Of String, String())
你可以这样做:
PR.Add("Hour2", {elements_PR(4), "1"})
或者
Dim pr_val() As String = {elements_PR(4), "1"}
PR.Add("Hour1", pr_val)