問題タブ [object-initializers]
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 - C(C++ではなく)で配列を再初期化する方法は?
Cで配列を再初期化するにはどうすればよいですか?
pointer: を介して定義する必要がありますかint *data[]
、それとも単にコーディングできますint data[] = {};
か?
たとえば、次のように定義しました。
では、配列を再初期化するにはどうすればよいdata
ですか?
.net - ファクトリ パターンでの VB.NET オブジェクト初期化子の使用
いくつかの子クラス (この場合は Windows フォーム クラス) を派生させたい基本クラスを作成しました。子インスタンスのコレクションを維持するために Factory パターンを使用しているため、フォームは主キー値ごとに 1 つのインスタンス (Factory パターンと Singleton パターンのマッシュアップのようなもの)。
基本フォーム クラスで次のコードを使用しています。
アイデアは、次のように、基本フォームから継承する子フォーム (たとえば、UserInfoForm と呼ばれる) を作成し、ユーザー #42 のインスタンスを作成することです。
これはすべて意図したとおりに機能します。
ただし、UserInfoForm には、設定したいプロパティがいくつかあります。フォームがファクトリによって作成された後ではなく、オブジェクト初期化子を使用して設定したいと思います。
これらの 2 つの方法を組み合わせる方法はありますか?そのため、ファクトリとイニシャライザがありますか?
私は探していません:
...基本クラスには、追加の基本フォーム パラメータを取得し、GetForm() 関数をラップしてフォームを表示する ShowForm() メソッドも含まれているためです。
c++ - 構造体配列内の構造体配列の初期化
次のコードがあるとします。
BufferPair の配列も初期化する TestData の配列を初期化しようとしています。TestData の各インスタンスには、異なるサイズの BufferPair 配列があります。簡単な例:
これを試しているときに、次の gcc エラーが発生します。
どうすればこれを解決できますか? ありがとう。
c++ - 非静的グローバルオブジェクトと動的オブジェクトへのグローバルポインタ
次のような原因不明の動作が発生しました。
ケース1:
a.cpp
.dllライブラリとしてコンパイルされ、のmain()で使用されます。main.cpp
私が理解していることから、このアプローチは、グローバルの未定義の初期化動作が原因で失敗する可能性があります。
ケース2:
a.cpp
.dllライブラリとしてコンパイルされ、のmain()で使用されます。main.cpp
今回は、動的割り当てを使用すると機能します。
ケース3(最も驚くべき)
a.cpp
.dllライブラリとしてコンパイルされ、のmain()で使用されます。main.cpp
Bar objのインスタンス化が定義されていない可能性があるケース1とは対照的に、ケース3では「要求に応じて」使用されます。ただし、ケース3はケース1と同じ動作を提供します。
そして私の質問は...誰かがここで何が起こっているのか説明できますか?すべてがVC2008リリースモードで構築されています(このプロジェクトのデバッグモードのオプションはありません)
c# - オブジェクト初期化子の値の重複を避ける
プロジェクトには、初期化時に一致する値を含むフィールドを持つオブジェクトが多数あります。例として、以下のコード スニペット、特にAddedDateTime
とModifiedDateTime
プロパティを参照してください。
一度設定した {...} ブロック内でModifiedDateTime
の値を の値に設定することはできますか?AddedDateTime
無理だとは思いますが、確認してみる価値はあると思います。
c# - C#は匿名オブジェクトの初期化で読み取り専用プロパティをどのように設定しますか
C#では、オブジェクト初期化子はパブリックの非読み取り専用フィールドとプロパティを設定できます。
ただし、匿名タイプの場合、プロパティは読み取り専用です。では、.NETはどのようにオブジェクトの初期化にそれらを設定しますか?
c# - オブジェクト初期化子を使用してプライベート セッターを設定する
auto プロパティを所有するクラス内からイニシャライザが呼び出されたときに、オブジェクト イニシャライザを使用してプライベート セット auto プロパティを設定できるのはなぜですか? 例として2つのクラスを含めました。
c# - C#メンバー初期化子で別のプロパティ値を参照する方法は?
VB では、以下は有効なオブジェクト初期化子で、1 つのメンバー初期化子が以前に初期化された別のメンバーの値を参照します。
new MyObject() with {.Property1="x", .Property2 = .Property1 + "y"}
C#
を使用して同じことをしようとすると
エラーが発生します
名前 'Property1' は現在のコンテキストに存在しません。
2 つの言語の間にかなりの量の同等性があるため、これは少し驚くべきことですが、おそらくこれは数少ない違いの 1 つです。
でこれを行う方法はありC#
ますか?具体的な使用例について知りたい方のために、かなり複雑な LINQ クエリを使用して複合オブジェクト構造を構築しています。
ここで対処すべき実際の問題は、SelectedAnswerId と SelectedAnswerIds に値を割り当てるために使用される LINQ 式の Answers プロパティへの参照です。これらの 2 つの式を独自のスタンドアロンの割り当てに分解する必要がある場合があります。
c# - c# でのオブジェクトの再初期化
C#でオブジェクトを再利用することは「良い習慣」と考えられていますか?
例:
Anima というクラスがあり、monkey という動物型のオブジェクトを作成するとします。
c# - オブジェクト初期化子からのプロパティへのアクセス
私は次のPerson
クラスを持っています
次のように初期化できます。
しかし、オブジェクト初期化子で別のプロパティを参照することは可能Person
ですか?たとえば、次のようなことができますか?
編集
質問のために、参照されるプロパティは他のプロパティに従って計算される必要はありませんが、その値はコンストラクターで設定できます。
ありがとう