我有一个文本文件,看起来像这样
defabot:3215
defatank:2985
ludditus:29
compensate:355
moobot:805
maxi292003:63
doctorbarzhal:19
plaanz:4
manguuu:51
atntpc:19
immortalsofthemist:18
当我的应用程序打开时,我正在加载此列表,从数字中拆分名称并用它填充listview控件。我想在内存中维护列表,以便我使用和操作整个项目。
我需要与名称相关的数字,所以当我搜索名字时,我知道他们有多少分。实现这一目标的最有效/最简单的方法是什么?
谢谢。
答案 0 :(得分:3)
使用Dictionary(Of String, Integer)
。这是一个例子:
Dim dict As New Dictionary(Of String, Integer)
For Each s As String In IO.File.ReadAllLines("filename")
Dim a() As String = s.Split(":"c)
Dim userName As String = a(0)
Dim userPoints As Integer = Convert.ToInt32(a(1))
dict.Add(userName, userPoints)
Next
答案 1 :(得分:2)
最有效的方法是使用Dictionary(Of String, Int32)
:
Dim dict As Dictionary(Of String, Int32) = IO.File.ReadLines(path).
Select(Function(line) line.Split(":"c)).
ToDictionary(Function(split) split(0), Function(split) Int32.Parse(split(1)))
你可以通过它获得价值:
Dim ludditus As Int32 = dict("ludditus")