40 000 以上のキーと値の大きな辞書をファイルに保存し、起動時にそれらを辞書に戻す必要があるアプリケーションを使用しています...現在、分割と for each を使用した単純な文字分離を使用しています次のような起動時のループ:
key1=value1|key2=value2|key3=value3
etc...
ただし、辞書をシリアル化および逆シリアル化するより効率的な方法を探しています...非常に多くのエントリがあるため、シリアル化されたデータのサイズも考慮しています。
40 000 以上のキーと値の大きな辞書をファイルに保存し、起動時にそれらを辞書に戻す必要があるアプリケーションを使用しています...現在、分割と for each を使用した単純な文字分離を使用しています次のような起動時のループ:
key1=value1|key2=value2|key3=value3
etc...
ただし、辞書をシリアル化および逆シリアル化するより効率的な方法を探しています...非常に多くのエントリがあるため、シリアル化されたデータのサイズも考慮しています。
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()