C#の列挙型。Nullableか'Unknown'値か?
2023-09-28 19:28:28
質問
もし、クラスが
enum
メンバを持つクラスがあり、このメンバが定義されていない状況を表現できるようにしたい場合、どちらが良いでしょうか?
a) nullable型を使ってクラス内でメンバをnullableとして宣言する。例
public SomeEnum? myEnum;
b) 列挙にデフォルトの、「不明」な値を追加する。例
public enum SomeEnum {
Unknown,
SomeValueA,
SomeValueB,
SomeValueC,
}
どちらにも大きな長所と短所は見当たりませんが、おそらくどちらかが他よりも好ましいのでしょう?
どのように解決するのですか?
間違いなく nullable 値の型を使用してください - そのためのものです。これは、あなたの意図を明示的に示すものです。また、これは
Enum.IsDefined
(または
制約のないメロディ
を使えば、特定の値が
本当の
の値であるかどうかを簡単に判断することができます。
関連
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み] 列挙型をサブクラス化して、新しい要素を追加することはできますか?
-
[解決済み] enumとは何か、なぜ有用なのか?
-
[解決済み] Enum 値から文字列名
-
[解決済み] カスタムイニシャライザを持つSwift enumはrawValueイニシャライザを失う
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み】enumにnullを設定する方法