当前位置: 代码迷 >> ASP.NET >> 请教下面这个问号怎么 解释?C#语法真难以理解
  详细解决方案

请教下面这个问号怎么 解释?C#语法真难以理解

热度:8033   发布时间:2013-02-26 00:00:00.0
请问下面这个问号如何 解释??C#语法真难以理解
public   static   void   Insert(string   varfileName,string   vardescription,DateTime?   vardateX,int?   varalbumSortId)



------解决方案--------------------------------------------------------
可空类型可以包含值,或者可以是未定义的。?? 运算符定义当可空类型分配给非可空类型时返回的默认值。如果在将可空类型分配给非可空类型时不使用 ?? 运算符,将生成编译时错误。如果使用强制转换,并且当前未定义可空类型,将发生 InvalidOperationException 异常。

有关更多信息,请参见可为空的类型(C# 编程指南)。

示例
复制代码
// nullable_type_operator.cs
using System;
class MainClass
{
static int? GetNullableInt()
{
return null;
}

static string GetStringValue()
{
return null;
}

static void Main()
{
// ?? operator example.
int? x = null;

// y = x, unless x is null, in which case y = -1.
int y = x ?? -1;

// Assign i to return value of method, unless
// return value is null, in which case assign
// default value of int to i.
int i = GetNullableInt() ?? default(int);

string s = GetStringValue();
// ?? also works with reference types.
// Display contents of s, unless s is null,
// in which case display "Unspecified ".
Console.WriteLine(s ?? "Unspecified ");
}
}


------解决方案--------------------------------------------------------
加个?号表示可以为空
------解决方案--------------------------------------------------------
加个?号表示可以为空
  相关解决方案