程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#的類型轉換

C#的類型轉換

編輯:關於C語言

在計算機中,所有的數據都是以0和1的形式存在的,變量的含義是通過數據的這種解釋方式來傳達的。在實際應用中很多地方要用到不同數據類型之間的轉換,請看下面的一個例子

string str = null;

double num=null;

Console.WriteLine("enter a serial of numbers:\t");

str = Console.ReadLine();//讀取一行數字

num = Convert.ToDouble(str);//字符串轉換成數字

類型轉換包括有兩種方法:

隱式轉換和顯式轉換,下面將分別介紹這兩種方法。

一. 隱式轉換

隱式轉換不要做任何工作,不要編寫其他的代碼,可以直接轉換。

請看:

ushort num1;

char ch='a';

num1 = ch;

num1 = 98;

ch = num1;// (1)

錯誤:法將類型“ushort”隱式轉換為“char”。存在一個顯式轉換(是否缺少強制轉換?)

如果將上面的(1)處的代碼改為:ch = (char)num1;那麼編譯的時候就沒有錯誤,這種方法就是顯式轉換。其結果如下:

ushort num1;

char ch='a';

num1 = ch;//直接轉換

num1 = 98;

ch = (char)num1;//間接轉換,num1的前面多了個char.

從上圖可以看出隱式和顯式轉換的一些區別了。

二、顯式轉換

顯式轉換有個很明顯的標識,在要轉換的數據之前有個標識符,例如:

ch = (char)num1。當然顯式轉換不止只有這個方法,還可以用Convert方法來處理數據的轉換。

先看下幾個例子,再對照後面給出的兩個表格的來驗證。本文發表於編程入門網:www.bianceng.cn

int age = 22;

double myage = (double)age; //顯式轉換

Console.WriteLine("int age={0}", age);

Console.WriteLine("double myage={0}", myage);

float price = 55.55F;

decimal cupon = Convert.ToDecimal(price); //

使用Convert方法來處理。

Console.WriteLine("float price={0}", price);

Console.WriteLine("decimal cupon={0}", cupon);

下面的兩個表格在變量的轉換過程中國比較重要,特別是Convert的各種方法

表1:左邊類型可以無錯誤的直接成功轉換為右邊的類型

類型

編譯器隱式執行的轉換

byte

short,ushort,int,uint,long,ulong,float,double,decimal

sbyte

short,int,long,float,double,decimal

short

int,long,float,double.decimal

ushort

int,uint,float,ufloat,double,decimal

int

long,float,double,decimal

uint

float,double,decimal,

long

float,double,decimal

ulong

float,double,decimal

float

double

char

ushort,int,uint,long,ulong,float,double,decimal

這些轉換與兩種數據的長度相關,這個表不需要記住,在實際編程過程中如果有什麼錯誤,系統編譯器會自動提醒。

表2:類Convert的常用方法:類型1 var1=Convert.method(var2);

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.ToDouble();

Convert.ToUInt64();

Convert.ToInt16();

Convert.ToInt32()

以上16個方法中只有幾個在實際編程過程中用到很多,特別是Convert.ToString();Convert.ToChar();

Convert.ToDateTime()這幾個使用頻率很高,大家要自己編程體會,下一節將會介紹C#中常用的3種復雜類型變量:結構體,數組和枚舉類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved