Vb.net 有价格和数量的词典

Vb.net 有价格和数量的词典,vb.net,Vb.net,我想得到最高的价格和最高的数量。 这是我正在使用的,但它只给了我最高的价格。我怎样才能找到同时包含两个最大值的记录 Value = StockData.OrderByDescending(Function(u) u.Value.Price).ThenBy(Function(u) u.Value.Volume) 我得猜你的课是什么样子,字典的结构是什么。我想你们要的是最大的一笔交易量。我按价格*数量订购了这本词典。消息框字符串中:后面的符号是格式代码 Public Class Stock

我想得到最高的价格和最高的数量。 这是我正在使用的,但它只给了我最高的价格。我怎样才能找到同时包含两个最大值的记录

Value = StockData.OrderByDescending(Function(u) u.Value.Price).ThenBy(Function(u) u.Value.Volume)

我得猜你的课是什么样子,字典的结构是什么。我想你们要的是最大的一笔交易量。我按价格*数量订购了这本词典。消息框字符串中:后面的符号是格式代码

Public Class Stock
    Public Property StockSymbol As String
    Public Property Price As Decimal
    Public Property Volume As Integer

    Public Sub New(Symbol As String, p As Decimal, v As Integer)
        StockSymbol = Symbol
        Price = p
        Volume = v
    End Sub

End Class

Private StockData As New Dictionary(Of String, Stock)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Add some sample data to the Dictionary
    StockData.Add("ABC", New Stock("ABC", 12.33D, 14000))
    StockData.Add("DEF", New Stock("DEF", 22.5D, 1050200))
    StockData.Add("GHI", New Stock("GHI", 19.45D, 15000))
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim DictionaryItem = StockData.OrderByDescending(Function(u) u.Value.Price * u.Value.Volume).First
    MessageBox.Show($"{DictionaryItem.Value.StockSymbol} - Price {DictionaryItem.Value.Price:##,###.#0}, Volume {DictionaryItem.Value.Volume:##,###,##0}")
End Sub

请提供一个完整和明确的解释问题。假设我们对你的问题一无所知(因为我们一无所知),并告诉我们所有相关的事情。您发布的代码根本没有提供任何特定记录。它将为您提供现有列表,但已排序。不要把大部分相关信息留在脑子里,把它放在问题里。你的意思是返回两条记录吗:-一条记录包含最高价格,一条记录包含最高数量?@WillWalsh只显示一条记录具有最高价格值和最高数量值。我将把这些信息存储在两个记录中单独的变量,因为它们与单个记录无关。无论哪种方式,您都可以使用LINQ函数Max.
Dim maxPrice=StockData.OrderByDescending(函数(u)u.Value.Price).First()
Dim maxVolume=StockData.OrderByDescending(函数(u)u.Value.Volume).First()
。。谢谢