自動プロパティがある場合、C#コンパイラは、すべてのコンストラクタでthis
コンストラクタを呼び出して、アクセスする前にすべてが初期化されていることを確認するように求めます。構造体でこれを使用することのオーバーヘッド
自動プロパティを使用せず、単に値を宣言する場合は、this
コンストラクタの使用を避けることができます。
構造体のコンストラクタにthis
を使用すると、どのようなオーバーヘッドが発生しますか?値を二重に初期化するのと同じですか?
パフォーマンスがこの特定のタイプで最も懸念されていた場合は、使用しないことをおすすめしますか?
ありがとうございました。あなたの返事を見ました。自動プロパティは可変性を意味します、どのように?私はautoプロパティのsetキーワードでプライベートを使用すると、それが不変になると思いましたか?また、不変型の値を設定する際のしきい値は何ですか?それらをコンストラクタ内に設定するのは問題ありません。 –
これは正しく変更できません。つまり、型内でのみ変更することができます。それは小さな違いのように見えるかもしれませんが、私はそれが重要なものだと信じています。もちろん、コンストラクタ内でreadonly変数を好きなだけ設定できます。 –
お返事ありがとうございました。 –