2012-01-04 6 views
0

私は多次元文字列配列を保存するためのより良い方法または最もエレガントな方法を探しています。 これはシナリオです:言語のリストをSQLテーブルに保存するのではなく、配列/ ararylist /オブジェクトに保存したいので、私はそれにすばやくアクセスできます。 それは含まれています:C#で多次元文字列を保存する最もエレガントな方法はどれですか?

{ 
{"en-US", "English"}, 
{"ro-RO", "Romanian"}, 
{"pt-PT", "Portuguese"} 
} 

このリストは、他の多くのものが含まれている場合があります。 私は申し訳ありませんが、スタック上にまだ解決策が見つかりませんでした。

+1

どのようにアクセスしますか?コードやもっと複雑なもので文化名を選択するだけですか? –

+0

どこに保存?ディスクに?ちょうどそれを記憶に残す? – Oded

+0

私はメモリに保存したい –

答えて

4

Dictionaryを使用したことがありますか?

Dictionary<string, string> english = new Dictionary<string, string>() 
{ 
    {"en-US", "English"}, 
    {"ro-RO", "Romanian"}, 
    {"pt-PT", "Portuguese"} 
} 
+0

ニックネームは私の用法には良いです、ありがとう –

4

Dictionaryクラスを使用できます。ここであなたは、実行時にそれをロードして、別々のファイルに保存したい場合、私はあなたがしたいリストのあなたの意図や用途に詳述されていないシリアライズ

1

です格納。場合は、これはルックアップテーブルの種類のデータであり、何かを検索したい場合は、辞書を見ることができます。辞書の詳細については、this MSDN articleを参照してください。あなたのケースでは

は、あなたが文字列のペアを持っていて、ペアの最初の要素を使用して、ペアの2番目の要素を取得したい考えると、あなたはこのような辞書持つことができます。

Dictionary<string, String> myDict = new Dictionary<string, String>(); 
//add the elements or members 
myDict.Add("en-US", "English"); 
//TO DO: Add the rest of the items 

//Get the second element for a member 
string Lang = myDict["en-US"]; 

をしかし、永続性が必要な場合は、シリアライズとデシリアライズも管理する必要があります。

1

を見てお勧めの例

Dictionary<String, String> lDict = new Dictionary<String, String>(); 
lDict.Add("en-US", "English"); 
... 
lDict["en-US"]; // == "English" 
+0

ニックネームは私の用法にはいいです、ありがとう –

+0

Linqクエリを使用してください –

関連する問題