1. ホーム
  2. c#

[解決済み] Nullable<T>.HasValueとNullable<T> != nullの違いは何ですか?

2022-03-19 01:53:49

質問

私はいつも Nullable<>.HasValue というのも、私はそのセマンティクスが好きだったからです。しかし最近、ある人の既存のコードベースで作業していたところ Nullable<> != null を使用するようになりました。

それとも単なる好みですか?

  1. int? a;
    if (a.HasValue)
        // ...
    
    

vs.

  1. int? b;
    if (b != null)
        // ...
    
    

解決方法は?

コンパイラは null を呼び出すことで、比較することができます。 HasValue ということで、実質的な違いはありません。読みやすいほう、あるいはあなたや同僚にとって意味のあるほうを選んでください。