首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 型別轉換:隱含與顯式轉換、Convert 類別方法大全

     編輯:關於C語言

電腦中所有資料以 0 和 1 形式存在,變數意義透過資料解釋方式傳達。實際應用常需不同資料型別間轉換。範例:

string str = null;
double num = null;
Console.WriteLine("輸入一串數字:");
str = Console.ReadLine();
num = Convert.ToDouble(str); // 字串轉數字

型別轉換兩種方法:隱含轉換、顯式轉換。

一、 隱含轉換

無需額外代碼直接轉換。例:

ushort num1;
char ch = 'a';
num1 = ch; // 直接轉換
// 輸出 num1 = 97
num1 = 98;
ch = num1; // 錯誤:無法將 ushort 隱含轉換為 char
ch = (char)num1; // 顯式轉換正確

二、 顯式轉換

明顯標識:轉換資料前有型別標識,如 ch = (char)num1。也可用 Convert 方法。範例:

int age = 22;
double myage = (double)age; // 顯式轉換
float price = 55.55F;
decimal cupon = Convert.ToDecimal(price); // Convert 方法
Console.WriteLine("float price={0}, decimal cupon={1}", price, cupon);

重要轉換對照表

表 1:左側型別可無錯誤直接轉換為右側型別 (隱含轉換)

型別編譯器隱含執行轉換
sbyteshort, int, long, float, double, decimal
byteshort, ushort, int, uint, long, ulong, float, double, decimal
shortint, long, float, double, decimal
ushortint, uint, long, ulong, float, double, decimal
intlong, float, double, decimal
uintlong, ulong, float, double, decimal
longfloat, double, decimal
ulongfloat, double, decimal
floatdouble
charushort, int, uint, long, ulong, float, double, decimal

這些轉換與資料長度相關,無需背誦,編譯器會自動提示錯誤。

表 2:Convert 類別常用方法

Convert.ToBoolean()   Convert.ToInt64()
Convert.ToByte()      Convert.ToSByte()
Convert.ToChar()      Convert.ToString()
Convert.ToDecimal()   Convert.ToSingle()
Convert.ToDouble()    Convert.ToUInt16()
Convert.ToDateTime()  Convert.ToUInt32()
Convert.ToInt16()     Convert.ToInt32()
Convert.ToUInt64()

以上 16 方法中僅幾個實際常用,特別是 Convert.ToString()、Convert.ToChar()、Convert.ToDateTime() 使用頻率極高,請自行編程體會。下節將介紹 C# 三種常用複雜型別變數:結構體、陣列、列舉。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved