この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
C# 8.0はヌル参照型として扱えます
眺める:
19482
|
答える:
2
[出典]
C# 8.0はヌル参照型として扱えます
[リンクをコピー]
クズども
2022年3月26日 16:40:21に投稿
|
|
|
|
C# 8.0以前は、すべての参照型がnullできました。 ヌル参照型は、C# 8.0で導入された機能群を指し、以下に使用できます。
コードが実行時にスローを引き起こす可能性を最小限に抑える
。 nullable参照型には、これらの例外を回避するための3つの機能があり、その中には参照型を明示的にnullableとしてマークする機能が含まれます。
変数が参照を解除する前にヌルかどうかを判断するための最適化された静的フロー解析。
APIに注釈を付け、Stream Analyticsがnull状態を判定するための属性です。
変数の注釈は、開発者が変数の期待されるnull状態を明示的に宣言するために使えるものです。
既存プロジェクトではヌルステート解析や変数注釈はデフォルトで無効とされており、すべての参照型は依然としてnull可能です。 .NET 6以降は、新しいプロジェクトではこれらの機能がデフォルトで有効化されます。
ドキュメンテーション:
ハイパーリンクのログインが見えます。
nullになりうる参照型が何をするのか
アプリケーションが実行時にSystem.NullReferenceExceptionを出す可能性を最小限に抑えましょう
。
私が.NET 6で開発しているプロジェクトで、新しいプロパティのNameプロパティを作成し、次の警告が表示されます。
コンストラクタを終了する際、非nullableプロパティ「Name」はnullでない値を含む必要があります。 性質を を は零と宣言することを考えます。
ログインが見えます。
警告ですが、とてもイライラします! この警告をどうやって直せばいいですか? 割り当てのデフォルト値は空文字列で、コードは以下の通りです:
ログインが見えます。
つまり、プロパティが手動で割り当てられていない場合、デフォルトの値は空文字列となります。
局所変数を使用する場合、
種類はストリングですか? 警告も発生させることがあります
、下図に示されているように:
解決策として、変数がnullかどうかを判断してから使う必要があります。もしnullなら、下のコードを実行しないでください。そう思うなら
変数は決してnullであってはなりません
は使用可能です。
ArgumentNullException.ThrowIfNull(assemblyFullName)
; 警告も削除可能です! つまり、変数がnullであれば、実行中に直接例外をスローします!
概要:C# 8.0でこの機能が導入されましたが、個人的には開発者の厳密さを高め、低レベルのミスを避けるためだと感じています。
nullになりうる他の方法解については、以下を参照してください:
ハイパーリンクのログインが見えます。
先の:
現在のプロジェクトのGitのリモートアドレスを照会してください
次に:
ASP.NET コア(12)フロントエンドJS、CSSバンドル、圧縮
関連記事
•
.NET/C# は .NET SDK と .NET CLI テレメトリをオフにします
•
. NET6における優先度キュー
•
ASP.NET Core(32)はKeyedServicesの鍵サービスの注入に依存しています
•
Nginxリバースプロキシ ASP.NET コアはUDS通信を使用します
•
.NET/C# 依存注入サービス登録 Scrutor ツール
•
[ターン]。 NET/C#はどのようにしてインスタンスがどれだけのメモリを占有しているかを計算しているのですか?
•
フロントエンドフレームワークはComponent-Partyオープンソースプロジェクトを学習します
•
.NET/C# はオブジェクト(クラスインスタンス)内の文字列の非空文字列をデスペース化します。
•
.NET/C# 正規表現 正規表現マッチング抽出
•
.NET/C# メソッド ImplOptions.AggressiveInlining パフォーマンス最適化
トビウオ
2022年3月26日 20:57:32 に投稿
|
学ぶために
ズモリ775
2022年3月28日 08:23:47に投稿
|
学びに来て
閲覧したセクション
ごみ箱
ジャワ
Windows/Linux
安全な攻防
レジャー灌漑
リソースの共有
HTML/CSS/JavaScript
ネットワーク技術
生涯・経歴
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com