0

次のようなものを使用して、事前に宣言しなくても文字列配列を簡単に使用できます。

new string[]{"MyString1","MyString2"} 

また、事前に変数を宣言しなくても、メソッドパラメータとして使用できます。ただし、これを適切に行うことはできませんDictionary<string,string>。私は試した:

new Dictionary<string,string>(){"1","2"}

new Dictionary<string,string>().Add("1","2"):

上記のどれもコンパイルに関しては機能しませんでした。

4

2 に答える 2

12

このようにしてください

new Dictionary<string,string>(){{"Key1","Value1"},{"Key2","Value2"}};

すべてのディクショナリエントリは、キーと対応する値の組み合わせです。したがって、最初のエントリは{"Key1","Value1"}キーがどこにあり"Key1"、値がどこにあるか"Value1"などです。

また、事前に変数を宣言しなくても、メソッドパラメータとして使用できます。しかし、私は辞書でこれを正しく行うことができません。私は試した :

new Dictionary<string,string>().Add("1","2"):

Addメソッドは何も返さないため、これをメソッドパラメータに使用することはできません。そのvoidメソッド。

思考の糧:new string[]{"MyString1","MyString2"} つまり、辞書string[]はstring [x] [2]のようなものですが、xは辞書の長さです。(string [x] [2]は単なる表現目的です。私はその違法な宣言を知っています)

于 2012-08-13T11:45:10.420 に答える
8

これを試して:

new Dictionary<string, string>() {
    { "1", "2" }, { "3", "4" }
};

辞書を構成するキーと値のペアを初期化するには、追加の括弧が必要です。これらのブラケットは基本的にを呼び出しAdd()Add()2つのパラメーター(キーと値)を受け取るため、これらのブラケット内に2つの項目を配置します。

Add()このアプローチは、メソッドが複数のパラメーターを受け取るコレクションに使用できます。

オブジェクトとコレクションの初期化子の詳細については、http:
//msdn.microsoft.com/en-us/library/bb384062.aspxを参照してください。

または、辞書の初期化について:http:
//msdn.microsoft.com/en-us/library/bb531208

于 2012-08-13T11:44:27.037 に答える