int value=0;
if (value == 0)
{
value = null;
}
我怎样才能设置value
到null
上面?
任何帮助将不胜感激。
在 .Net 中,您不能将null
值分配给一个int
或任何其他结构。相反,使用Nullable<int>
, 或int?
简称:
int? value = 0;
if (value == 0)
{
value = null;
}
延伸阅读
此外,您不能将“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;
从 C# 9.0 开始,您可以使用“ Target-Typed ”条件表达式,并且该示例现在可以工作,因为 c# 9 可以通过在编译时评估表达式来预先确定结果类型。
您不能将 设置int
为null
。使用可为空的 int ( int?
) 代替:
int? value = null;
int 不允许为空,使用-
int? value = 0
或使用
Nullable<int> value
public static int? Timesaday { get; set; } = null;
或者
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
将整数变量声明为可为空,例如:int? variable=0; variable=null;
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; }
}