3弦のバリエーションに対応した独特のダブルを持っています。辞書などにデータを入力して、次のようなものを呼び出して値を取得できるようにしたいと考えていdict[key1][key2][key3]
ます。
私はたくさんのことを試しました
Dictionary<string, Dictionary<string, double>> dict = new Dictionary<string, Dictionary<string, double>> {
{ "Foo", {"Bar", 1.2 } },
{ "Foo", {"Test", 3.4 } }
};
これにより、「エラー 4 名前空間には、フィールドやメソッドなどのメンバーを直接含めることはできません」のような構文エラーとエラーが表示されます
と
Dictionary<double, Tuple<string, string>> dict = {
{1.23, "Blah", "Foo"}
};
これにより、「エラー 1 配列初期化式を使用して配列型に割り当てることしかできません。代わりに新しい式を使用してください。」のようなエラーが表示されます。
と
object dict = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
dict["k1"] = new Dictionary<string, Dictionary<string, string>>();
dict["k1"]["k2"] = new Dictionary<string, string>();
dict["k1"]["k2"]["k3"] = 3.5;
これにより、「クラス、構造体、またはインターフェイス メンバー宣言のエラー 2 無効なトークン '"k1"'」のような構文エラーとエラーが発生します。
これについてどうすればよいですか?前もって感謝します。
![ここに画像の説明を入力][1]
編集:Joneyのコードを試す:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string[] grades = { "Grade 1", "Grade 5", "Grade 8", "ASTM A325", "316 Stainless", "Monel", "Brighton Best 1960" };
string[] sizes = { "#1", "2", "3", "4", "5", "6", "8", "10", "12", "1/4", "5/16", "3/8", "7/16", "1/2", "9/16", "5/8", "3/4", "7/8", "1", "1-1/8", "1-1/4", "1-3/8", "1-1/2" };
var dict = new Dictionary<string, Dictionary<string, Dictionary<string, double>>>();
dict["k1"] = new Dictionary<string, Dictionary<string, double>>();
dict["k1"]["k2"] = new Dictionary<string, double>();
dict["k1"]["k2"]["k3"] = 3.5;
public Form1()
{
InitializeComponent();
}