web-dev-qa-db-ja.com

C#でintにnull値を設定する方法は?

int value=0;

if (value == 0)
{
    value = null;
}

上記のvaluenullに設定するにはどうすればよいですか?

任意の助けをいただければ幸いです。

53
user2902180

.Netでは、null値をintまたは他の構造体に割り当てることはできません。代わりに、 Nullable<int> 、または略してint?を使用します。

int? value = 0;

if (value == 0)
{
    value = null;
}

さらに読む

84
p.s.w.g

また、条件付き割り当ての値として「null」を使用することはできません。例えば...

bool testvalue = false;
int? myint = (testvalue == true) ? 1234 : null;

次で失敗します:Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and '<null>'.

したがって、nullもキャストする必要があります...これは動作します:

int? myint = (testvalue == true) ? 1234 : (int?)null;
74
doublehelix

intnullに設定することはできません。代わりに、null許容のint(int?)を使用します。

int? value = null;
12
Jon

intはnull、use-を許可しません

int? value = 0  

または使用する

Nullable<int> value
2
A J
 public static int? Timesaday { get; set; } = null;

OR

 public static Nullable<int> Timesaday { get; set; }

または

 public static int? Timesaday = null;

または

 public static int? Timesaday

あるいは単に

 public static int? Timesaday { get; set; } 


    static void Main(string[] args)
    {


    Console.WriteLine(Timesaday == null);

     //you also can check using 
     Console.WriteLine(Timesaday.HasValue);

        Console.ReadKey();
    }

Nullキーワードは、オブジェクトを参照しないnull参照を表すリテラルです。プログラミングでは、null許容型は、一部のプログラミング言語の型システムの機能であり、データ型の通常の可能な値の代わりに特別な値NULLに値を設定できます。

https://docs.Microsoft.com/en-us/dotnet/csharp/language-reference/keywords/nullhttps://en.wikipedia.org/wiki/Null

1
Amadeu Antunes
int ? index = null;

public int Index
        {
            get
            {
                if (index.HasValue) // Check for value
                    return index.Value; //Return value if index is not "null"
                else return 777; // If value is "null" return 777 or any other value
            }
            set { index = value; }
        }
0
dreamboatDev

整数変数をNULL可能として宣言します。例:int? variable=0; variable=null;

0