スコット・チェンバレン(および他のいくつか)で述べたようにタプルは、あなたが不変の(つまり、読み取り専用の)オブジェクトを持っていても気にしなければ一番うまく動作します。
デビッドによって提案されたように、あなたは文字列値でint型を参照する、場合、たとえば、あなたは辞書
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("string", 1);
Console.WriteLine(d["string"]);//prints 1
、しかし、あなたはmutablyあなたの要素を格納する場合に使用する必要があります
var kvp=new KeyValuePair<int, string>(2, "a");
//kvp.Key=2 and a.Value="a";
kvp.Key = 3;//both key and
kvp.Value = "b";//value are mutable
:リストでは、とC#のためのstd ::ペア本質的であるKeyValuePairを使用することであろう辞書スタイルの参照システム、そして、あなたの最善の策(今つまり、唯一の真の解決策)を使用したくありません
もちろん、これは積み重ねられるので、もっと大きなタプルが必要な場合はements)をスタックするだけです。あなたがこれを行う場合は明らかに、補助機能を定義するべきでしょう。
あなたのタプルに3つ以上の要素が含まれている場合は、独自のクラスを定義することをお勧めします。あなたのような文を使用してtypedefの風を使用することができます。
using quad = KeyValuePair<KeyValuePair<int,string>, KeyValuePair<int,string>>;
が、それはあなたのインスタンスがどの楽にしません。2つ以上の要素のタプルを扱うときにユーザー定義クラスを使用すると、テンプレートパラメータを記述する時間が大幅に短縮され、非定型コードに多くの時間を費やすことになります。
あなたは本当にあなたは辞書ではなくリストを望んでいますか?あなたはおそらくあなたの実際の問題についてもう少し詳しく述べるべきです。そうすれば、あなたはなぜこのようにそれをやっているのかは明らかです。 –
あなたは何のためにリストを使いたいですか? – Crisfole
私は辞書がほしくありません。私は単純な例を使用しようとしていました... ASP.NET MVC 'Controller.Json' – Darcy