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

C#語法練習(4): 類型轉換

編輯:關於C#

使用 Convert 類:

ToBoolean -> bool
ToByte   -> byte
ToChar   -> char
ToDateTime -> DateTime
ToDecimal -> decimal
ToDouble -> double
ToInt16  -> short
ToInt32  -> int
ToInt64  -> long
ToSByte  -> sbyte
ToSingle -> float
ToString -> string
ToUInt16 -> ushort
ToUInt32 -> uint
ToUInt64 -> ulong

using System;

class MyClass
{
   static void Main()
   {
     int num;
     string str;

     num = 99;
     str = Convert.ToString(num);
     Console.WriteLine(str);

     str = "123";
     num = Convert.ToInt32(str);
     Console.WriteLine(num);

     Console.ReadKey();
   }
}

隱式轉換, 只要容得下就行:

using System;

class MyClass
{
   static void Main()
   {
     byte n = byte.MaxValue;

     short n1 = n;
     int n2 = n;
     long n3 = n;

     Console.WriteLine("{0},{1},{2}", n1, n2, n3); //255,255,255

     Console.ReadKey();
   }
}

顯示轉換, 可能會因溢出而丟失數據:

using System;

class MyClass
{
   static void Main()
   {
     ulong n = ulong.MaxValue;

     byte n1 = (byte)n;
     ushort n2 = (ushort)n;
     uint n3 = (uint)n;

     Console.WriteLine("{0},{1},{2}", n1, n2, n3); //255,65535,4294967295

     Console.ReadKey();
   }
}

溢出檢查:

using System;

class MyClass
{
   static void Main()
   {
     int i;
     byte b;

     i = 255;
     b = (byte)i;       /* i 在 byte 的范圍內, 不會溢出 */
     b = unchecked((byte)i); /* 同上一行, 不做溢出檢查 */
     Console.WriteLine(b);  // 255

     i++;
     b = (byte)i;       /* i 超出 byte 的范圍內, 會溢出 */
     b = unchecked((byte)i); /* 同上一行, 不做溢出檢查 */
     Console.WriteLine(b);  // 0

     i = 255;
     b = checked((byte)i);  /* 可以通過溢出檢測 */
     Console.WriteLine(b);  // 255

     i++;
     b = checked((byte)i);  /* 不能通過溢出檢測, 會報錯 */
     Console.WriteLine(b);

     Console.ReadKey();
   }
}

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