作用:类型转换,简单的理解为:尝试(try)转换指定类型,如果转换成功返回true,转换失败返回false
使用:
int i;
bool isNumber= int.TryParse("5",out i);//尝试把字符串转为int类型,并存在i中;转换成功时,返回true,否则转为:false
使用tryparse时,需要理解一点就是输出参数out。
这里简单带过,如:
static void Main(string[] args)
{
int num = 1;//给初始值也没用
MyOut(out num);
Console.WriteLine(num.ToString());//输入出
Console.ReadKey();
}
static void MyOut(out int i)
{
i = 2;//使用前必须赋值 i++;
}
执行的原理:
1.声明一个值类型num存于栈中。
2.调用MyOut时,在内存创建一个i,同样存于num所在的栈中
3.i=2时,栈中的数据改为2,同时num也变为2.
如果num为引用类型时,将声明一个堆区用于存数据。栈中存放着num与i的指向到堆中数据。
回过头来看下 int.TryParse("5",out i);
可以用反编译工具查看下内容,这里我就不具体查看了。 简单理解大致是:
1.判断“5”是否为数字类型。
2.如果“5”为数字类型反回true,并且把该值符给i所在的栈。
3.如果“5”不是数字类型返回false。
提示一下,转换的时候,不一定只有int类型。可以有DateTime等。
一般使用TryParse,可以换转类型,与此同学判断它是否为指定类型。
|