如何在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;
}
}输出结果
热门推荐
10 生日祝福语朋友简短的话
11 宝贝的人生祝福语简短
12 新年有哪些祝福语简短
13 简短又洋气祝福语大全
14 简短祝福语除夕快乐英文
15 生日贺卡祝福语毕业简短
16 战友聚会祝福语幽默简短
17 最新中秋祝福语简短英语
18 夏日升学宴祝福语简短