vb.net - 价格和数量的字典
问题描述
我试图获得最高的价格和最高的成交量。这是我正在使用的,但它只给了我最高的价格。如何找到同时包含两个最高数字的记录?
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
推荐阅读
- mysql - 特定配置无法启动mysql服务器
- javascript - 添加复选框列显示错误:“为第 0 行,第 0 列请求未知参数‘0’”
- jquery - 将元素从折叠的侧边栏拖到正文
- java - 如何分隔字符串中的char和num并打印num的char重复次数
- dataweave - 我如何在 Dataweave 2 中使用过滤器和映射
- excel - 如何允许在 VBA InputBox 中输入多行输入?
- c++ - stringstream operator<< 在按位否定时不能按预期工作
- java - 我可以将内部 Spring Boot 变量传递给 gradlew 吗?
- arrays - 如何按字母顺序重新排列标签列表?
- python - 带有 keras 的 CNN 架构