ホームページ >バックエンド開発 >C++ >C#値のタイプ(例: `int?`)で疑問符は何を意味しますか?

C#値のタイプ(例: `int?`)で疑問符は何を意味しますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-26 08:51:10745ブラウズ

What Does the Question Mark Mean in C# Value Types (e.g., `int?`)?

C# 値型の疑問符: Null 許容型について理解する

疑問符「?」は、条件文での使用など、プログラミングにおいてさまざまな役割を果たします。ただし、public int? myProperty などの値の型にも表示されます。この場合、疑問符は何をするのでしょうか?

Nullable 型

値の型の後の疑問符は、それが null 許容型であることを示します。 null 許容型は、基になる型の有効な値の全範囲と特別な null 値を収容できる System.Nullable 構造体の特別なインスタンスです。

この機能は、一部の要素の値が意図的に欠落している可能性があるデータベース シナリオやその他のデータ ソースを扱う場合に特に役立ちます。たとえば、ブール値を許可するデータベース テーブルの列には、true、false、または null が含まれる可能性があります。

サンプルコード

次のコード スニペットを考えてみましょう:

<code class="language-csharp">class NullableExample
{
    static void Main()
    {
        int? num = null;

        // 判断 HasValue 是否为 true
        if (num.HasValue)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        // 如果 num 为 null,则赋值默认值 0
        int y = num.GetValueOrDefault();

        // 如果 num.HasValue 为 false,则抛出 InvalidOperationException
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}</code>

ここで、num 変数は、整数または null 値を保持できる null 許容整数 (int?) として定義されています。 HasValue 属性を使用すると、変数に有効な値が含まれているかどうかを確認できます。 HasValue が true の場合、num.Value を使用して実際の値を取得できます。それ以外の場合、num は null とみなされます。

以上がC#値のタイプ(例: `int?`)で疑問符は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。