Parse and TryParse

        /// <summary>
        /// TryParse  方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常
        /// </summary>
        public static void TryParseExample()
        {
            String[] values = { null, "160519", "9432.0", "16,667", "   -322   ", "+4302", "(100);", "01FA", "ab123" };
            foreach (var value in values)
            {
                int number;

                bool result = Int32.TryParse(value, out number);
                if (result)
                {
                    Console.WriteLine("Converted ‘{0}‘ to {1}.", value, number);
                }
                else
                {
                    //            if (value == null) value = "";
                    Console.WriteLine("Attempted conversion of ‘{0}‘ failed.",
                                       value == null ? "<null>" : value);
                }
            }
        }

        /// <summary>
        ///
        /// </summary>
        public static void ParseExample()
        {
            String[] values = { null, "160519", "9432.0", "16,667", "   -322   ", "+4302", "(100);", "01FA", "ab123" };
            foreach (var value in values)
            {
                try
                {
                    int result = Int32.Parse(value);
                    Console.WriteLine("Converted ‘{0}‘ to {1}.", value, result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Unable to convert ‘{0}‘.", value);
                    Console.WriteLine(string.Format("{0}-{1}", ex.Message, ex.GetType()));
                }
            }
        }
时间: 2024-12-29 12:59:33

Parse and TryParse的相关文章

C# Parse and TryParse 方法详解

工作中遇到的常用方法: Parse and TryParse TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常 1 /// <summary> 2 /// TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常 3 /// </summary> 4 public static void TryParseExample() 5 { 6 String[] values = {

C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()

一.(int)变量名[强制类型转换]:  该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误. 该方式对于浮点数会做无条件舍去,失去精确度.当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错.最后切忌的一点,千万不要用来处理char类型

Convert、Parse、TryParse、(int) 区别

Convert.ToInt32.int.Parse(Int32.Parse).int.TryParse.(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢? Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse: Convert.ToInt32 参数为 null 时,返回 0: int.Parse 参数为 null 时,抛出异常. Convert.ToInt32 参数为 "" 时,抛

数据类型转换的三种方式 Convert,parse和TryParse

以Int类型为例,具体说明Convert.ToInt32(object value),int.Parse(object value)和int.TryParse(string s,out int result)的用法 一.int.Parse int.Parse的底层实现原理(可以直接忽略,不需深究) [SecuritySafeCritical] internal static unsafe int ParseInt32(string s, NumberStyles style, NumberFor

double.TryParse()和double.Parse()的比较

一.double.TryParse("1234,34,49",out temp)这个方法用来查看字符串"1234,34,49"是不是能够转成一个double类型的数字,如果能转换成功则函数返回值为true,且用out temp来保存这个转换后的double,如果不能转换则false,temp保持原来的值不变. 差别就在于Parse和TryParse之中转换不匹配时,是否抛出错误. 他们之中核心的转换方法是一样的,区别大概如下:double Parse(string

编写高质量代码改善C#程序的157个建议——建议4: TryParse比Parse好

建议4: TryParse比Parse好 如果注意观察除string外的所有基元类型,会发现它们都有两个将字符串转型为本身的方法:Parse和TryParse.以类型double为例,这两个方法最简单的原型为: public static double Parse(string s) public static bool TryParse(string s, out double result) 两者最大的区别是,如果字符串格式不满足转换的要求,Parse方法将会引发一个异常:TryParse方

int.parse(&quot;abc&quot;)之错

int.parse()为强制装换函数. int.Parse(string类型变量名) 该方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常:如果字符串内容不是数字,则抛出FormatException异常:如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常. 使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内. 因为abc字符串不是数字

关于int.Parse()的异常

一.int.Parse(string 变量名) 该方式是将数字内容的字符串转换为int类型 1.如果字符串的内容为Null ,则抛出ArgumentNullException异常: 2.如果字符串内容不是数字,则抛出FormatException异常: 3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常. 二.在网上搜索相关内容,Convert.ToInt32().int.Parse().int.TryP

int.parse的出错异常处理

问题的起因是这样的:在完成一个闰年判断的程序的时候,任务是对输入的字符串进行转换从而得到了int类型的年份,从而进行判断:然而,若输入超出int类型范围或者奇葩内容时,int.parse()进行转换时便会弹出exception...所以,这回的任务就是处理exception或者在不规范输入时不弹出异常. 嗯...看到这个作业,第一步想到的就是对int.parse()进行异常处理,把弹出的exceptions catch一下.代码大概是如下这个样子: try{ int year = int.Par