开发学院软件开发C语言 C# 语法练习(4): 类型转换 阅读

C# 语法练习(4): 类型转换

 2009-02-23 08:17:03 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊哄Ч鍥х仼闁诲繑鑹鹃悾鐑藉蓟閵夛妇鍘甸梺瑙勵問閸犳牠銆傛總鍛婄厱閹艰揪绱曟牎闂侀潧娲ょ€氫即鐛幒妤€绠f繝闈涘暙娴滈箖鏌i姀鈶跺湱澹曟繝姘厵闁绘劦鍓氶悘杈ㄤ繆閹绘帞澧涚紒缁樼洴瀹曞崬螖閸愬啠鍓濈换娑樼暆婵犱胶鏁栫紓浣介哺閹瑰洤鐣烽幒鎴僵闁瑰吀鐒﹂悗鎼佹⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩缁狀垶鏌涢幇闈涙灈鐎瑰憡绻冮妵鍕箻鐎靛摜鐣奸梺纭咁潐濞茬喎顫忕紒妯肩懝闁逞屽墮宀h儻顦查悡銈夋煏閸繃鍋繛宸簻鎯熼梺瀹犳〃閼冲爼宕濋敃鈧—鍐Χ閸℃鐟愰梺鐓庡暱閻栧ジ宕烘繝鍥у嵆闁靛骏绱曢崢顏堟⒑閹肩偛鍔楅柡鍛⊕缁傛帟顦寸紒杈ㄥ笚濞煎繘鍩℃担閿嬵潟闂備浇妗ㄩ悞锕傚箲閸ヮ剙鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹  闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨堕妴鍐川閺夋垹鍘洪悗骞垮劚椤︻垶宕¢幎鑺ョ厪闊洦娲栨牎闂佽瀵掗崜鐔奉潖閾忓湱纾兼俊顖氭惈椤矂姊虹拠鑼婵ǜ鍔戦崺鈧い鎺嶇閸ゎ剟鏌涢幘璺烘瀻妞ゎ偄绻愮叅妞ゅ繐瀚悗顓烆渻閵堝棙绀€闁瑰啿閰e畷婊勫鐎涙ǚ鎷洪梻渚囧亞閸嬫盯鎳熼娑欐珷妞ゆ柨澧界壕鐓庮熆鐠虹尨鍔熺紒澶庢閳ь剚顔栭崰鏍€﹂柨瀣╃箚婵繂鐭堝Σ鐑芥⒑缁嬫鍎愰柟鐟版搐铻為柛鎰╁妷濡插牊绻涢崱妤冪婵炲牊锕㈠缁樻媴妞嬪簼瑕嗙紓鍌氱М閸嬫挻绻涚€涙ḿ鐭ら柛鎾跺枛瀹曟椽鍩€椤掍降浜滈柟鐑樺灥閳ь剙缍婂鎶筋敆閸曨剛鍘遍柣搴秵娴滅兘鐓鍌楀亾鐟欏嫭纾婚柛妤€鍟块锝夊磹閻曚焦鞋闂備礁鎼Λ瀵哥不閹捐钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
核心提示:使用 Convert 类:ToBoolean -> boolToByte -> byteToChar -> charToDateTime -> DateTimeToDecimal -> decimalToDouble -> doubleToInt16-> shortTo

使用 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();
  }
}

Tags:语法 练习 类型

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接