有一个小技巧,int类型是不支持null值的,但是数据库是支持null类型的,所以为了让int支持null类型,可以加一个问号,如下:
<span style="font-size:14px;"><span style="white-space:pre"> </span> int? num = null;</span>
数据类型的转换有显示转换和隐式转换,显示转换是从高到底,比如从long转换到int,格式如下:
int a = 1;
long b = 12121212;
a =(int)b;
隐式转换从低到高,无需多余的操作。
这边可以用checked来检查是否有溢出,比如:
checked
{
int a = int.MaxValue;
int b = a + 1;
Console.WriteLine(b);
Console.ReadLine();
}
这边再提几个类型转换的方法,先提一个parse方法,是将字符类型转换成int类型如下:
var str1 = Console.ReadLine();
var str2 = Console.ReadLine();
int a1 = int.Parse(str1);
int a2 = int.Parse(str2);
Console.WriteLine(a1 + a2);
Console.ReadLine();
由于 Console.ReadLine();写入的是字符串,如果直接str1和str2相加会输出字符串相加,为了使其是int的数值相加,使用Parse函数,输出的既是输入两个int数值的相加。但是如果输入的是两个字符呢?这时候可以用TryParse方法来解析, TryParse方法会返回一个bool值是否解析成功,代码如下:
var str = Console.ReadLine();
int a;
if (int.TryParse(str, out a))
{
Console.WriteLine(a);
}
else
{
Console.WriteLine("解析失败");
}
Console.ReadLine();
下面再提一个和Parse相反的任何类型往字符串转换的方法ToString,代码如下:
int a=1;
string b = a.ToString();
Console.WriteLine(b);
Console.ReadLine();