問題タブ [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.
c# - ディクショナリの匿名コレクション初期化子
next を暗黙的に宣言することは可能ですかDictionary<HyperLink, Anonymous>
:
だから私はそれをこのように使うことができました:
?
c# - リスト初期化子とオブジェクト初期化子を組み合わせる
リスト初期化子とオブジェクト初期化子を同時に組み合わせることは可能ですか? 次のクラス定義があるとします。
これは仕様によるものですか、それとも c# コンパイラの単なるバグまたは欠落している機能ですか?
c# - 属性にコレクション初期化子を使用できますか?
C#の属性をコレクション初期化子で使用できますか?
たとえば、次のようなことをしたいと思います。
属性に名前付きパラメーターを含めることができることは知っていますが、それはオブジェクト初期化子と非常に似ているように見えるので、コレクション初期化子も使用できるかどうか疑問に思いました。
c# - C# でコレクション初期化子を使用して新しいクラスを作成する
私が作成したクラスがあります。クラスがコレクション初期化子を持つことができるようにしたいと思います。クラスの例を次に示します。
クラスで次のようなことができるようにしたいと思います。
辞書やリストではないクラスでこれを行うことは可能ですか?
linq - コレクション初期化子はオブジェクト初期化子のように LINQ に関連していますか?
私は LINQ について読んでいて、コレクション初期化子が登場するのを見ていますが、オブジェクト初期化子のように LINQ と本当に直接関係していますか?
c# - 再割り当てのコレクション初期化子が許可されないのはなぜですか?
私はいつもそれが両方の方法でうまくいくと思っていました。次に、このテストを実行し、再割り当てでは許可されていないことに気付きました。
正常に動作しますが、動作しません:
これの技術的な理由はありますか?この振る舞いは直感的に期待していたので、ここで聞いてみようと思いました。
c# - List<>構文に類似したオブジェクトの初期化
次のように同様に初期化できるようにクラスを定義するにはどうすればよいですかList<T>
。
たとえば、このシナリオ:
c# - カスタムタイプでコレクション初期化構文を使用していますか?
基本的にルックアップテーブルである大きな静的リストがあるので、コードでテーブルを初期化します。
実数LookupItem
にはさらに多くのプロパティがあるため、よりコンパクトな初期化形式を可能にするコンストラクターを追加しました。
私が本当にやりたいのは、オブジェクト自体にコレクションイニシャライザー形式を使用して、new LookupItem()
すべての行を削除できるようにすることです。例えば:
これは可能ですか?KeyValuePair
このようにaの'をDictionary<>
初期化できるからだと思います。
MSDNの状態:
コレクション初期化子を使用すると、 IEnumerableを実装するコレクションクラスを初期化するときに、1つ以上の要素初期化子を指定できます。要素の初期化子は、単純な値、式、またはオブジェクトの初期化子にすることができます。コレクション初期化子を使用することにより、ソースコードでクラスのAddメソッドへの複数の呼び出しを指定する必要はありません。コンパイラーは呼び出しを追加します。
これは、クラスに実装IEnumerable
して各パラメーターを返す必要があることを意味しますか?LookupItem
私のクラスはコレクションクラスではありません。
c# - コンストラクターは初期化されたプロパティにアクセスできますか
オブジェクトをインスタンス化するときにオブジェクト初期化子を使用する場合、そのオブジェクトコンストラクターは初期化されたプロパティにアクセスできますか?
c# - オブジェクトの初期化が機能しない
ここで何が欠けていますか?私は次のことがうまくいくと思っていました:
代わりに{
、最後の 3 行のそれぞれの文字でエラーが発生します。
タイプ 'xxx.yyy.ProposalFileInfo' は、'System.Collections.IEnumerable' を実装していないため、コレクション初期化子で初期化できません
オブジェクト初期化子を使用していませんか? なぜコレクション初期化子を想定するのですか? (Visual Studio 2012 を使用しています。)