【发布时间】:2017-03-16 03:11:58
【问题描述】:
我需要导入一份额外清单(随餐提供的酱汁)及其各自的价格。使用老师的一些代码,我可以读取文件,将额外的名称和价格放入列表中,然后显示它,表明它已经工作了。现在问题来了,当我必须按字母顺序对附加内容进行排序时,我才能对其应用二进制搜索。我已经用 .sort 和 OrderBy 等尝试了一切,但没有任何效果。
我的包含数据的外部文本文件
鹰嘴豆泥,0.75
辣椒,0.50
塔布利,1.25
Tzatziki,0.50
额外的公共课
Public Class extra
Public Property Name As String
Public Property Price As Decimal
End Class
此代码导入数据并将其放入列表中
Dim allExtras = From line In System.IO.File.ReadLines("C:\Users\ExtrasList.txt")
Let Columns = line.Split(","c)
Where Columns.Length = 2
Let Price = Decimal.Parse(Columns(1).Trim())
Let Name = Columns(0).Trim()
Select New extra With {.Name = Name, .Price = Price}
Dim extraList As List(Of extra) = allExtras.ToList()
显示列表
Console.WriteLine()
Console.WriteLine("Extra Name" & vbTab & "Price")
Console.WriteLine("-----------" & vbTab & "-----")
For Each extra In extraList
Console.WriteLine(extra.Name & vbTab & vbTab & extra.Price)
Next
我只需要将额外文件及其价格从单独的文件中获取到可以按字母顺序排序的数组或列表中,以便用户可以搜索以查看是否存在他们想要的额外内容。我还需要能够访问列表,以便用户可以选择额外的,然后将所需的价格添加到总价中。任何帮助将不胜感激,因为这部分完全阻止了我的进一步发展。我不介意是否有人能够帮助我使用我现有的代码对列表进行排序,或者向我展示一种更有效的方法来将文件中的数据读取到列表中,我只需要某种解决方案。
【问题讨论】:
-
在您的代码中,您没有尝试排序或
OrderBy。OrderBy应该可以工作。如果您尝试使用OrderBy,那么“它不起作用”是什么意思?
标签: .net vb.net visual-studio sorting search