c#中的類型轉換

Parse類型轉換

Parse()函數

int、double都能調用Parse()函數,Parse(string str);若是轉換成功就成功,失敗就會拋出一個異常;c++

TryParse()函數

相應地有一個TryParse函數,bool TryParse(string str,out int a);這裏的out參數至關於c++中的&,引用(區別是c#的這個方法裏必須對a賦值,且全部分支都要賦值)。若是可以轉,就返回True,並把值放在a裏面,若是失敗的話a賦值爲0,double也是這樣。c#

測試代碼

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();markdown

測試代碼

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();
        }
    }
}
相關文章
相關標籤/搜索