国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#數據類型的轉換方法

2023-05-08 19:02:31
字體:
來源:轉載
供稿:網友

C#中的數據類型有兩種轉換方式:隱式轉換和顯式轉換,即強制轉換,也可以用類型轉換方法來進行命令式顯式轉換。

1)隱式轉換

與C++一樣,當轉換不會造成信息丟失時,C# 一般會采用自動的隱式轉換(implicit conversion)。隱式轉換包括對數值、枚舉和引用的隱式轉換。隱式轉換可以發生在方法調用、表達式計算和分配時。但是不存在到字符類型char的隱式轉換。數值類型的隱式轉換參見表17-8。

17-8 隱式數值類型轉換
被轉換類型
可安全轉換到的類型
sbyte
short、int、long、float、double、decimal
byte
short、ushort、int、uint、long、ulong、float、double、decimal
short
int、long、float、double、decimal
ushort
int、uint、long、ulong、float、double、decimal
int
long、float、double、decimal
uint
long、ulong、float、double、decimal
long
float、double、decimal
ulong
float、double、decimal
float
double
char
ushort、int、uint、long、ulong、float、double、decimal
2)顯式轉換
與C++一樣,C# 中的顯式轉換(implicit conversion)也是指使用強制轉換(cast)運算符“(類型)”進行的類型轉換。如果顯式轉換位于“已檢驗”(checked)上下文內,在被轉換的值超出目標類型的取值范圍時,會導致OverflowException異常,這是C# 新增的觀念。如果顯式轉換位于“未檢驗”(unchecked)上下文內,則不會拋出異常,但是轉換行為會不明確也不可靠,這點與C++類似。表17-9列出了可以安全進行顯式轉換的類型。
17-9 顯式數值類型轉換
被轉換類型
可安全轉換到的類型
sbyte
byte、ushort、uint、ulong、char
byte
sbyte、char
short
sbyte、byte、ushort、uint、ulong、char
ushort
sbyte、byte、short、char
int
sbyte、byte、short、ushort、uint、ulong、char
uint
sbyte、byte、short、ushort、char
long
sbyte、byte、short、ushort、int、uint、ulong、char
ulong
sbyte、byte、short、ushort、int、uint、long、char
float
sbyte、byte、short、ushort、int、uint、long、ulong、decimal、char
double
sbyte、byte、short、ushort、int、uint、long、ulong、float、decimal、char
decimal
sbyte、byte、short、ushort、int、uint、long、ulong、float、double、char
char
sbyte、byte、short
3)命令轉換
除了上面所介紹的隱式和顯式轉換外,在C# 中還可以利用.NET的System.Convert類提供的一套公用靜態的轉換方法,來進行顯式類型轉換,參見表17-10。
17-10 顯式類型轉換的靜態方法
方法
功能
ToBoolean
將指定的值轉換為等效的布爾值。
ToByte
將指定的值轉換為8位無符號整數。
ToChar
將指定的值轉換為Unicode字符。
ToDateTime
將指定的值轉換為DateTime
ToDecimal
將指定值轉換為Decimal數字。
ToDouble
將指定的值轉換為雙精度浮點數字。
ToInt16
將指定的值轉換為16位有符號整數。
ToInt32
將指定的值轉換為32位有符號整數。
ToInt64
將指定的值轉換為64位有符號整數。
ToSByte
將指定的值轉換為8位有符號整數。
ToSingle
將指定的值轉換為單精度浮點數字。
ToString
將指定值轉換為其等效的String表示形式。
ToUInt16
將指定的值轉換為16位無符號整數。
ToUInt32
將指定的值轉換為32位無符號整數。
ToUInt64
將指定的值轉換為64位無符號整數。
例如:
using System;
int i = 1234;
Conver.ToInt16(i);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资中县| 高安市| 兴化市| 始兴县| 和政县| 勃利县| 昌宁县| 南京市| 浦北县| 平南县| 涟源市| 花莲市| 离岛区| 行唐县| 淮阳县| 河池市| 陆川县| 蕲春县| 黎川县| 浦江县| 永善县| 阿图什市| 保山市| 仪征市| 大冶市| 石林| 安远县| 布拖县| 新巴尔虎右旗| 垫江县| 吐鲁番市| 常熟市| 楚雄市| 澄城县| 广南县| 乃东县| 兰考县| 芒康县| 藁城市| 桦甸市| 沁阳市|