如何在c#中将null值设置为int?

时间:2013-10-22 15:33:28

标签: c# .net null int nullable

int value=0;

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

如何将value设置为null以上?

任何帮助将不胜感激。

8 个答案:

答案 0 :(得分:78)

在.Net中,您无法为null或任何其他结构分配int值。相反,请使用Nullable<int>int?简称:

int? value = 0;

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

进一步阅读

答案 1 :(得分:72)

此外,您不能使用&#34; null&#34;作为条件赋值中的值。 e.g ...

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;

答案 2 :(得分:12)

您无法将int设置为null。使用可以为空的int(int?)代替:

int? value = null;

答案 3 :(得分:2)

int不允许null,使用 -

int? value = 0  

或使用

Nullable<int> value

答案 4 :(得分:1)

 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,而不是数据类型的常见可能值。

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

答案 5 :(得分:0)

将整数变量声明为可空 例如:int? variable=0; variable=null;

答案 6 :(得分:0)

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; }
        }

答案 7 :(得分:-1)

使用Null.NullInteger ex:private int _ReservationID = Null.NullInteger;