欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#數(shù)值轉(zhuǎn)換-顯式數(shù)值轉(zhuǎn)換表(參考)

 更新時間:2013年04月01日 12:00:39   作者:  
就是在將一種類型轉(zhuǎn)換成另外一種類型時,需要額外的代碼來完成這種轉(zhuǎn)換。

什么是顯式轉(zhuǎn)換

Explicit Conversion
就是在將一種類型轉(zhuǎn)換成另外一種類型時,需要額外的代碼來完成這種轉(zhuǎn)換。

復制代碼 代碼如下:

int n = 1;
byte b = (byte)n; // 正確,顯式轉(zhuǎn)換
byte b2 = n;      // 錯誤

顯式轉(zhuǎn)換需要注意,它的結(jié)果不一定是我們想要的。

復制代碼 代碼如下:

int n = 256;
byte b = (byte)n; // 結(jié)果是 0


上面的結(jié)果是 0,因為超過 255 了,它就從 0 開始;
如果 n 是 257,那么 b 就是 1;

如果 n 是 258,那么 b 就是 2;
……

由此還得說下 Convert,Convert 這個類用來轉(zhuǎn)換類型,它有很多方法,比如 ToInt32,就是轉(zhuǎn)換成 int。它涉及的類型跨度很大,比如可將 object、string 等轉(zhuǎn)換成 int,而 (int) 則只能將數(shù)字類型轉(zhuǎn)換成 int。

更多相關(guān)內(nèi)容,請參見 Convert、Parse、TryParse、(int) 的區(qū)別。
顯式數(shù)值轉(zhuǎn)換表(摘自 MSDN)

sbyte

byte、ushort、uint、ulong  char

byte

Sbyte 或者char

short

sbyte、byte、ushort、uint、ulong  char

ushort

sbyte、byte、short  char

int

sbytebyte、short、ushortuint、ulong  char

uint

sbyte、byte、shortushort、int  char

long

sbyte、byteshort、ushort、intuint、ulong  char

ulong

sbytebyte、shortushort、int、uint、long  char

char

sbyte、byte  short

float

sbytebyte、short、ushortint、uint、long、ulong、char  decimal

double

sbyte、byteshort、ushortint、uint、long、ulong、char、float  decimal

decimal

sbyte、byte、short、ushort、int、uint、longulong、char、float  double

備注(摘自 MSDN)

顯式數(shù)值轉(zhuǎn)換可能導致精度損失或引發(fā)異常。
將 decimal 值轉(zhuǎn)換為整型時,該值將舍入為與零最接近的整數(shù)值。如果結(jié)果整數(shù)值超出目標類型的范圍,則會引發(fā) OverflowException。
將 double 或 float 值轉(zhuǎn)換為整型時,值會被截斷。如果該結(jié)果整數(shù)值超出了目標值的范圍,其結(jié)果將取決于溢出檢查上下文。在 checked 上下文中,將引發(fā) OverflowException;而在 unchecked 上下文中,結(jié)果將是一個未指定的目標類型的值。
將 double 轉(zhuǎn)換為 float 時,double 值將舍入為最接近的 float 值。如果 double 值因過小或過大而使目標類型無法容納它,則結(jié)果將為零或無窮大。
將 float 或 double 轉(zhuǎn)換為 decimal 時,源值將轉(zhuǎn)換為 decimal 表示形式,并舍入為第 28 個小數(shù)位之后最接近的數(shù)(如果需要)。根據(jù)源值的不同,可能產(chǎn)生以下結(jié)果:
如果源值因過小而無法表示為 decimal,那么結(jié)果將為零。
如果源值為 NaN(非數(shù)字值)、無窮大或因過大而無法表示為 decimal,則會引發(fā) OverflowException。
將 decimal 轉(zhuǎn)換為 float 或 double 時,decimal 值將舍入為最接近的 double 或 float 值。

相關(guān)文章

  • C#用遞歸算法解決經(jīng)典背包問題

    C#用遞歸算法解決經(jīng)典背包問題

    背包問題有好多版本,本文只研究0/1版本,即對一個物體要么選用,要么就拋棄,不能將一個物體再繼續(xù)細分的情況。
    2016-06-06
  • C# 實現(xiàn)與現(xiàn)有.NET事件橋接簡單實例

    C# 實現(xiàn)與現(xiàn)有.NET事件橋接簡單實例

    這篇文章主要介紹了C# 實現(xiàn)與現(xiàn)有.NET事件橋接簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C#使用文件流FileStream和內(nèi)存流MemoryStream操作底層字節(jié)數(shù)組byte[]

    C#使用文件流FileStream和內(nèi)存流MemoryStream操作底層字節(jié)數(shù)組byte[]

    這篇文章介紹了C#使用文件流FileStream和內(nèi)存流MemoryStream操作底層字節(jié)數(shù)組byte[]的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#控制臺程序的開發(fā)與打包為一個exe文件實例詳解

    C#控制臺程序的開發(fā)與打包為一個exe文件實例詳解

    所謂控制臺程序,就是沒有界面,運行程序后只有一個黑色的類似cmd窗口,通過這個窗口進行交互,下面這篇文章主要給大家介紹了關(guān)于C#控制臺程序的開發(fā)與打包為一個exe文件的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • C#實現(xiàn)自動生成電子印章

    C#實現(xiàn)自動生成電子印章

    網(wǎng)絡(luò)辦公正逐漸成為常態(tài),無紙化辦公也是一個潮流。本文將利用C#語言實現(xiàn)自動生成電子印章功能,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-08-08
  • C#聊天程序服務(wù)端與客戶端完整實例代碼

    C#聊天程序服務(wù)端與客戶端完整實例代碼

    這篇文章主要介紹了C#聊天程序服務(wù)端與客戶端完整實例代碼,很經(jīng)典的應(yīng)用,需要的朋友可以參考下
    2014-07-07
  • C#中async和await的深入分析

    C#中async和await的深入分析

    Async/Await是C# 5引入的關(guān)鍵字,用以提高用戶界面響應(yīng)能力和對Web資源的訪問能力,同時它使異步代碼的編寫變得更加容易,下面這篇文章主要給大家介紹了關(guān)于C#中async和await的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 輕松學習C#的方法

    輕松學習C#的方法

    輕松學習C#的方法,對C#的方法感興趣的朋友可以參考本篇文章,幫助大家更靈活的運用C#的方法
    2015-11-11
  • C#向無窗口的進程發(fā)送消息

    C#向無窗口的進程發(fā)送消息

    這篇文章主要介紹了C#向無窗口的進程發(fā)送消息 的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 一步步教你如何創(chuàng)建第一個C#項目

    一步步教你如何創(chuàng)建第一個C#項目

    這篇文章主要給大家介紹了關(guān)于如何創(chuàng)建第一個C#項目的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-12-12

最新評論