熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Rational 面向 .NET 開發

2013-11-13 09:51:03  來源: .NET編程 

  有了前次float類型的教訓以後我開始復習C#的數據類型今天在網上發現一篇有意識的文章

  short s=;
        s = s + ;
        和
        short s=;
        s += ;

  這兩個表達式有什麼區別會報什麼錯誤?

  還是用事實來說話測試

  經測試

  第一個會報錯錯誤 無法將類型int隱式轉換為short存在一個顯式轉換(是否缺少強制轉換?) E:\MVC\Test\Test\Formcs Test

  第二個通過編譯運行正常

  後來找到解釋

  s = s + ; 由於 默認是int型的s是short的s+的結果默認是int的把int的結果賦值給short時會報錯損失精度了必須寫成 s = (short)(s+) 來強制轉化一下

  s+=; 在編譯時已經明確最後要賦值給s即short型的所以會在內部自動進行轉換的

  自動轉換一般從低的往高的轉換所以第一個會報錯

  順便把C#的數據類型貼上大家一起復習

  #是基於框架的他的基礎部分就是共享的通用類型系統(CTSCommon Type System)下面是C#和java數據類型的等價類型

  

  c#數據

  類型

  java數據

  類型 

  運行時

  類型

  大小

  (字節)

范圍  描述   bool   boolean   Boolean  n/a  true or false  布爾值   byte    Byte    ~  無符號整數  char  char  Char    x~xffff  Unicode字符  decimal     Decimal  

  ~

  

 十進制數字  double  double  Double  

  e~

  e

 雙精度位數字  float  float  Single    e~e  單精度位數字  int  int  Int    ~  有符號整數  long  long  Int  

  ~

  

 有符號整數  sbyte  byte  SByte    ~  有符號整數  short  short  Int    ~  有符號整數 unit    UInt    ~  無符號整數  ulong    UInt    ~  無符號整數  ushort    UInt    ~  無符號整數

  在c#中所有書類型也都是System的一部分可以在其中引用如bool可以引用為SystemBoolean


From:http://tw.wingwit.com/Article/program/net/201311/11738.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.