如何在C#中将字符串解析为可为null的int?

C#提供了一种特殊的数据类型,即可为空的类型,您可以为其分配常规值范围和空值。

C#2.0引入了可为空的类型,使您可以将null分配给值类型变量。您可以使用Nullable声明可空类型,其中T是类型。

  • 可空类型只能与值类型一起使用。

  • 如果value为null,则Value属性将引发InvalidOperationException。否则它将返回该值。

  • 如果变量包含值,则HasValue属性返回true;如果为null,则返回false。

  • 您只能将==和!=运算符与可为空的类型一起使用。对于其他比较,请使用Nullable静态类。

  • 不允许使用嵌套的可为null的类型。Nullable <Nullable <int >> i; 将给出编译时错误。

例子1

static class Program{

   static void Main(string[] args){

      string s = "123";

      System.Console.WriteLine(s.ToNullableInt());

      Console.ReadLine();

   }

   static int? ToNullableInt(this string s){

      int i;

      if (int.TryParse(s, out i)) return i;

      return null;

   }

}

输出结果

123

当Null传递给扩展方法时,它不会输出任何值

static class Program{

   static void Main(string[] args){

      string s = null;

      System.Console.WriteLine(s.ToNullableInt());

      Console.ReadLine();

   }

   static int? ToNullableInt(this string s){

      int i;

      if (int.TryParse(s, out i)) return i;

      return null;

   }

}

输出结果

以上是 如何在C#中将字符串解析为可为null的int? 的全部内容, 来源链接: utcz.com/z/330859.html

回到顶部