問題タブ [collection-initializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
50 参照

c# - オブジェクトとコレクションの初期化子とアクセサー

私は C# が初めてなので、アクセサーとオブジェクト初期化子は私にとってまったく新しい概念です。そうは言っても、次の例が本当に混乱していることを除いて、私はそれらをうまく処理していると思います。

上記のコードの出力は次のとおりです (実例はこちらをご覧ください):

Field期待どおりに動作しますが、Coll混乱します。これCollは、コレクション初期化子がプロパティ (または少なくとも非自動プロパティ) と混合しないことを意味します。ただし、その場合は、コンパイル時のエラーが予想されます。

動作のその部分に関係なく、私をさらに混乱させるのは、の内部値coll_が何らかの形で初期化子の値に設定されていることです。

Colla)の set が呼び出されない理由と、C# で の値を設定する方法を知りたいですcoll_CollC# がcoll_内部ストレージとして識別するのに十分なget および set アクセサーでのその識別子の使用です。それとも、対応する型の唯一のメンバーであるため設定されているのでしょうか?

0 投票する
2 に答える
38 参照

c# - 関数からの可用性のためのクラス内リストの初期化

クラスのコレクション初期化子の値でリストを初期化して、別の関数から使用できるようにしたい:

括弧付きとなしのリストの違いは何ですか。この場合、どちらが適切ですか:

0 投票する
2 に答える
145 参照

c# - C#プロパティが内部セットであるにもかかわらず、辞書がプロパティ設定を許可する理由

バリデーションを書くために流暢なバリデーション API を使用しています。

クラスでinternal setプロパティに出くわしました。ValidationContext

この質問で内部設定プロパティに出くわしました。だから、私はこのような辞書の値を設定することができます

作品にアイテムを追加する上記のコードRootcontextData

ただし、別のディクショナリを RootContextData に直接割り当てる次の行では、コンパイル時エラーが発生します。

プロパティまたはインデクサー 'ValidationContext.RootContextData' を割り当てることができません -- 読み取り専用です

したがって、項目の辞書をコンテキスト データに追加するには、辞書をループして追加する必要があります。最初のものは機能するが、直接割り当てが機能しない理由を見て驚いています。