c#中的类型转换

来源:互联网 发布:利用淘宝漏洞赚钱 编辑:程序博客网 时间:2024/06/06 07:51

Parse类型转换

Parse()函数

int、double都能调用Parse()函数,Parse(string str);如果转换成功就成功,失败就会抛出一个异常;

TryParse()函数

相应地有一个TryParse函数,bool TryParse(string str,out int a);这里的out参数相当于c++中的&,引用(区别是c#的这个方法里必须对a赋值,且所有分支都要赋值)。如果能够转,就返回True,并把值放在a里面,如果失败的话a赋值为0,double也是这样。

测试代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace parse类型转换{    class Program    {        static void Main(string[] args)        {            //使用convert进行转换,过得去就成功了,过不去就抛异常;convert内部调用的是类型的.Parse();            double number = double.Parse("123.2");            Console.WriteLine(number);            Console.ReadKey();            //int.tryParse;尝试着讲一个字符串转换成int类型;使用tryParse进行类型转换,成功的时候返回true,并把值返回到第二个参数里面。失败时,返回false,将第二个参数赋值为0            double num = 10;            bool result = double.TryParse("ab123abc",out num);            Console.WriteLine(num);            Console.ReadKey();        }    }}

Convert类型转换

应用场景

如果两个类型变量不兼容,比如string与int或stirng与double。这个时候可以使用一个叫做Convert的转换工厂进行转换。使用Convert进行类型转换的时候要注意面儿上必须过得去。使用convert进行转换,过得去就成功了,过不去就抛异常;convert内部调用的是类型的.Parse();

测试代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace convert类型转换{    class Program    {        static void Main(string[] args)        {            //如果两个类型变量不兼容,比如string与int或stirng与double。这个时候可以使用一个叫做Convert的转换工厂进行转换。            //使用Convert进行类型转换的时候要注意面儿上必须过得去。            string s = "123";            double d = Convert.ToDouble(s);            int n = Convert.ToInt32(s);            Console.WriteLine(d);            Console.WriteLine(n);            Console.ReadKey();        }    }}

应用

让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示 xx 你的总成绩是xx分,平均成绩是xx分;

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Convert应用{    class Program    {        static void Main(string[] args)        {            //让用户输入姓名 语文 数学 英语 三门课的成绩            //然后给用户显示 xx 你的总成绩是xx分,平均成绩是xx分;            Console.WriteLine("请输入你的姓名");            string name = Console.ReadLine();            Console.WriteLine("请输入你的语文成绩");            double chineseScore = Convert.ToDouble(Console.ReadLine());            Console.WriteLine("请输入你的数学成绩");            double mathScore = Convert.ToDouble(Console.ReadLine());            Console.WriteLine("请输入你的英语成绩");            double EnglishScore = Convert.ToDouble(Console.ReadLine());            double sum = chineseScore+mathScore+EnglishScore;            double average =sum/3;            Console.WriteLine("{0},你的总成绩为{1},平均成绩为{2:0.00}", name, sum, average);//这里使用了一个小技巧,通过:0.00限制了输出精度;            Console.ReadKey();        }    }}
0 0
原创粉丝点击