我正在尝试找到最低的Item2并从元组列表中返回Item1,我尝试使用List.Min但是我无法正确使用它,这是我的代码。
Dim ahlist As New List(Of Tuple(Of String, Double))
ahlist.Add(Tuple.Create("test1", 1.2))
ahlist.Add(Tuple.Create("test2", 0.2))
ahlist.Add(Tuple.Create("test3", 1.8))
基本上我想在这种情况下找到最小数字和返回字符串(test2)。
答案 0 :(得分:0)
我建议使用不同的数据结构:
https://msdn.microsoft.com/en-us/library/ms132329(v=vs.110).aspx
添加键/值组合。列表中的第0个始终是最小键,使其为O(1)操作而不是O(n)。在这种情况下,键将是Decimal,值将是字符串。
答案 1 :(得分:0)
您可以将比较项目的顺序反转为第一个数字:
Dim ahlist As New List(Of Tuple(Of Double, String))
ahlist.Add(Tuple.Create(1.2, "test1"))
答案 2 :(得分:0)
只需从C#语法到VB.net的简单修复,再到@Aamir Nakehwa的回答。
Dim minValue As Double = ahlist.Min(Function(x) x.Item2)
Debug.Print(minValue.ToString)
答案 3 :(得分:-1)
ahlist.Min(x => x.Item2)
试试这个。我会从你的元组列表中返回最小值。 并将其保存在任何变量中,如下所示
Dim minValue as Double = ahlist.Min(Function(x) x.Item2)