zoukankan      html  css  js  c++  java
  • c#中的类型转换

    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();
            }
        }
    }
    
  • 相关阅读:
    《Redis 设计与实现》读书笔记(四)
    《Redis 设计与实现》读书笔记(三)
    《Redis 设计与实现》读书笔记(二)
    《Redis 设计与实现》读书笔记(一)
    《Mysql技术内幕-InnoDB存储引擎》读书笔记 (一)
    Python调试工具
    记一次偶发的bug排查——redis-py-cluster库的bug
    苹果支付的这些漏洞,你都堵上了吗?
    微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
    Quartz.net设置任务中同时最多运行一个实例 [DisallowConcurrentExecution]
  • 原文地址:https://www.cnblogs.com/dragonfive/p/4498643.html
Copyright © 2011-2022 走看看