2

40 000 以上のキーと値の大きな辞書をファイルに保存し、起動時にそれらを辞書に戻す必要があるアプリケーションを使用しています...現在、分割と for each を使用した単純な文字分離を使用しています次のような起動時のループ: key1=value1|key2=value2|key3=value3etc...

ただし、辞書をシリアル化および逆シリアル化するより効率的な方法を探しています...非常に多くのエントリがあるため、シリアル化されたデータのサイズも考慮しています。

4

2 に答える 2

4

BinaryFormatter
ミッド エンド マシンで使用できます。

'save
Dim dict = New Dictionary(Of String, String)
For i = 1 To 40000
    dict.Add("key" & i, "value" & i)
Next
Dim fs As IO.FileStream = New IO.FileStream("d:\test\test.bin", IO.FileMode.OpenOrCreate)
Dim bf As New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
bf.Serialize(fs, dict)
fs.Close()

'load
Dim fsRead As New IO.FileStream("d:\test\test.bin", IO.FileMode.Open)
Dim objTest As Dictionary(Of String, String) = bf.Deserialize(fsRead)
fsRead.Close()
于 2013-08-21T17:51:43.787 に答える