您的位置:首页 > 博客中心 > 电脑问题 >

c# 类型转换 int.TryParse() 方法

时间:2022-03-18 14:50

public static bool TryParse(string s, out Int32 result);

如果转换成功则返回true。否则返回false

int.TryParse(string s,out int i) 的参数: s是要转换的字符串,i 是转换的结果。

  1. 执行成功返回true,输出转换成功的值;执行失败返回0
经过测试发现如下:

int i=0;

1、s 为null

int.TryParse(null,out i) 
false

2、s 为空字符串

int.TryParse(“”,out i) 
false

3、s字符串中带有 空格。

int.TryParse(“1 “,out i) 
true 
int.TryParse(” 1”,out i) 
true 
int.TryParse(” 1 “,out i) 
true 
int.TryParse(“1 2”,out i) 
false

4、非数字型字符串 肯定是 false了。

5、在数据库的操作中,经常会遇到了 DBNull

int.TryParse(System.DBNull,out i) 
“System.DBNull”是一个“类型”,这在给定的上下文中无效

int.TryParse(System.DBNull.Value,out i) 
与“int.TryParse(string, out int)”最匹配的重载方法具有一些无效参数 
int.TryParse(System.DBNull.Value.ToString(),out i) 
false
判断一个输入框是否为整数
            int baseNum = default(int);
            if (!int.TryParse(txtBaseNum.Text, out baseNum))
            {
                MessageBox.Show("请输入一个整数。");
                return;
            }
//语法:int.TryParse(str, out res)

int res = 1;
int i = 3;
string str = "";
if(int.TryParse(str, out res)){
    //因为str是字符串类型,所以此次转换肯定是失败的,失败返回false
    //所以不会进来循环内部
    //由于执行失败,所以res的值是0
}
if(int.TryParse(i, out res)){
    //因为i是int类型,所以此次转换是成功的,成功返回true
    //所以会进入到循环内部
    //由于执行成功,所以res的值是i,也就是3
}
————————————————
版权声明:本文为CSDN博主「Dear_BigTiger」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dear_BigTiger/article/details/81033844

总结:TryParse可以为我们的程序减少报错概率,帮助我们准确的完成业务需求,也可以用来判断用户输入的时间、金额、数量等是不是符合规则

热门排行

今日推荐

热门手游