タグ付けされた質問 「c#-7.2」

6
計画されている「プライベート保護された」C#アクセス修飾子の意味は何ですか?
GitHub のRoslynドキュメントの一部として、C#とVBの言語機能が計画されている、言語機能の実装ステータスというページがあります。 私の頭を包むことができなかった1つの機能は、private protectedアクセス修飾子でした。 private protected string GetId() { … } C#言語のデザインノートのページもあります。このページには、多くの新機能が説明されていますが、これは説明されていません。 エリックリッパートはコメントで言った: あなたの過ちは、修飾子を制限の増加として考えることです。実際、修飾子は常に制限を減らします。デフォルトでは「プライベート」であることに注意してください。修飾子を追加するだけで、制限が緩和されます。 の意味はprivate protected何ですか?いつ使用できますか?

5
C#で「in」パラメータ修飾子を使用するのはなぜですか?
だから、私は(私が思うに)inパラメータ修飾子が何をするのか理解しています。しかし、それが行うことはかなり冗長であるように見えます。 通常、aを使用する唯一の理由refは、呼び出し変数を変更することであると思いますin。これは、によって明示的に禁止されています。したがって、in参照による受け渡しは、値による受け渡しと論理的に同等のようです。 パフォーマンス上の利点はありますか?物事のバックエンド側では、refパラメーターは少なくとも変数の物理アドレスをコピーする必要があると私は信じていました。これは、一般的なオブジェクト参照と同じサイズである必要があります。 それでは、大きな構造体だけに利点があるのでしょうか、それとも他の場所で魅力的なものにする舞台裏のコンパイラ最適化があるのでしょうか。後者の場合、なぜすべてのパラメーターをaにするべきではないのinですか?
86 c#  c#-7.2 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.