专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » c语言强制类型转换:C# 语法练习(4): 类型转换 »正文

c语言强制类型转换:C# 语法练习(4): 类型转换

来源: 发布时间:星期三, 2009年2月25日 浏览:0次 评论:0
  使用 Convert 类:

ToBoolean -> bool
ToByte   ->
ToChar   -> char
ToDateTime -> DateTime
ToDecimal -> decimal
ToDouble -> double
ToInt16  ->
ToInt32  ->
ToInt64  -> long
ToSByte  -> s
ToSingle -> float
->
ToUInt16 -> u
ToUInt32 -> u
ToUInt64 -> ulong


using ;

MyClass
{
   void Main
  {
     num;
     str;

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

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

    Console.ReadKey;
  }
}


  隐式转换, 只要容得下就行:

using ;

MyClass
{
   void Main
  {
     n = .MaxValue;

     n1 = n;
     n2 = n;
    long n3 = n;

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

    Console.ReadKey;
  }
}


  显示转换, 可能会因溢出而丢失数据:

using ;

MyClass
{
   void Main
  {
    ulong n = ulong.MaxValue;

     n1 = ()n;
    u n2 = (u)n;
    u n3 = (u)n;

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

    Console.ReadKey;
  }
}


  溢出检查:

using ;

MyClass
{
   void Main
  {
     i;
     b;

    i = 255;
    b = ()i;       /* i 在 范围内, 不会溢出 */
    b = unchecked(()i); /* 同上行, 不做溢出检查 */
    Console.WriteLine(b);  // 255

    i;
    b = ()i;       /* i 超出 范围内, 会溢出 */
    b = unchecked(()i); /* 同上行, 不做溢出检查 */
    Console.WriteLine(b);  // 0

    i = 255;
    b = checked(()i);  /* 可以通过溢出检测 */
    Console.WriteLine(b);  // 255

    i;
    b = checked(()i);  /* 不能通过溢出检测, 会报错 */
    Console.WriteLine(b);

    Console.ReadKey;
  }
}




0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: