int、int.Parse()、Convert.ToInt32()区别

int:(int)变量,C#默认整型int32;不支持bool转化。

int.Parse(string sParameter)4个构造函数,参数类型只支持string类型。

Convert.ToInt32()支持的类型是object。

PS:C#不会对数据进行四舍五入,只会截取。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConvertTest
{
    public class Program
    {
        private enum eNumber { Man = 1, Woman = 2 };

        private static char cNumber = 'e';
        private static byte btNumber = 12;
        private static long lNumber = 12345;
        private static double dNumber = 12.34d;
        private static decimal dlNumber = 4.5m;
        private static bool bNumber = true;

        private static string str = null;
        private static string str1 = "";
        private static string str2 = "123";
        private static string str3 = "Hello";

        public static void TransformByInt()
        {
            Console.WriteLine("{0} TransformByInt Into {1}", eNumber.Man, (int)eNumber.Man);
            Console.WriteLine("{0} TransformByInt Into {1}", cNumber, (int)cNumber);
            Console.WriteLine("{0} TransformByInt Into {1}", btNumber, (int)btNumber);
            Console.WriteLine("{0} TransformByInt Into {1}", lNumber, (int)lNumber);
            Console.WriteLine("{0} TransformByInt Into {1}", dNumber, (int)dNumber);
            Console.WriteLine("{0} TransformByInt Into {1}", dlNumber, (int)dlNumber);
            //Console.WriteLine("{0} TransformByInt Into {1}", bNumber, (int)bNumber);//Error
            //Console.WriteLine("{0} TransformByInt Into {1}", str1, (int)str1);//Error
        }
        // Result: 1
        // Result:101
        // Result: 12
        // Result: 12345
        // Result: 12
        // Result: 4
        // 无法将类型“bool”转换为“int”
        // 编译错误,不能将string转化为int


        public static void TransformByIntParse()
        {
            try
            {
                Console.WriteLine("str{0}:", int.Parse(str));
                Console.WriteLine("str{0}:", int.Parse(str1));
                Console.WriteLine("str{0}", int.Parse(str2));
                Console.WriteLine("str{0}", int.Parse(str3));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
        }
        // 值不能为空。
        // 输入字符串的格式不正确。
        // Result: 123
        // 输入字符串的格式不正确。


        public static void TransformByConvert()
        {
            try
            {
                Console.WriteLine("{0}", Convert.ToInt32(str));
                Console.WriteLine("{0}", Convert.ToInt32(str1));
                Console.WriteLine("{0}", Convert.ToInt32(str2));
                Console.WriteLine("{0}", Convert.ToInt32(str3));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
        }
        // Result: 0
        // 输入字符串的格式不正确。
        // Result: 123
        // 输入字符串的格式不正确。


        static void Main(string[] args)
        {
            TransformByInt();
            TransformByIntParse();
            TransformByConvert();
            Console.ReadKey();
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值