none
c#中有几种强制转换类型的方法? RRS feed

答案

  • 你好!
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/ms173105.aspx
         希望对你有帮助!
    周雪峰
    2010年1月18日 3:11
    版主

  • objA 为 typeA 类型,objB 为 typeB 类型

    (1) typeA objA = (typeA)objB;

    (2) typeA objA = objB as objA;

    (3) typeA objA = objB as typeA

    参照
    http://msdn.microsoft.com/en-us/ms173105(zh-cn).aspx


    努力+方法=成功
    2010年1月18日 3:34
  • 1.任何一门编程语言均有相关数据类型。C#也不例外,其基本数据类型有int,short,long,float,double,string等。数据类型之间可以相互转换。不过转换过程要注意小类型能转换成大类型,但大类型一般不能转换成小类型。如int型可以转换成float型,但float型不一定可以转换成int型,至少这在C,C++是这样,但在C#中明显有了改变,似乎微软公司也允许这样的形式存在了。例如:

    double dbl_num=12345678910.456;

    int k = (int) dbl_num ;//此处运用了强制转换

    以上代码如果在C,C++中强制转换成int型,肯定会出错,但现在在C#中却不会出错了,不过转换后的值往往是溢出值,是不精通的。这点需要大家注意。

    2.采用另一种方式转换类型,如int.parse(),int32.parse()等采用方法来转换.

    如string str="100";

    int i=int.Parse(str);

    注意:str除掉引号的类型必须和*.Parse的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错"输入字符串的格式不正确."

    3.采用后缀式转换,如k.toString(),一般运用于字符串或日期等其它类型

    int i=100;

    string s=i.ToString();

    4.采用Convert类来实现转换,该类基本支持所以类型之间的转换

    string   str="100";

    int   i = Convert.ToInt16(str);

    注意:str除掉引号的类型必须和Convert.*的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错"输入字符串的格式不正确."

     

    具体参考:http://blog.csdn.net/enjoywind/archive/2009/02/11/3876950.aspx

    2010年1月18日 4:54

全部回复

  • 你好!
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/ms173105.aspx
         希望对你有帮助!
    周雪峰
    2010年1月18日 3:11
    版主

  • objA 为 typeA 类型,objB 为 typeB 类型

    (1) typeA objA = (typeA)objB;

    (2) typeA objA = objB as objA;

    (3) typeA objA = objB as typeA

    参照
    http://msdn.microsoft.com/en-us/ms173105(zh-cn).aspx


    努力+方法=成功
    2010年1月18日 3:34
  • 1.任何一门编程语言均有相关数据类型。C#也不例外,其基本数据类型有int,short,long,float,double,string等。数据类型之间可以相互转换。不过转换过程要注意小类型能转换成大类型,但大类型一般不能转换成小类型。如int型可以转换成float型,但float型不一定可以转换成int型,至少这在C,C++是这样,但在C#中明显有了改变,似乎微软公司也允许这样的形式存在了。例如:

    double dbl_num=12345678910.456;

    int k = (int) dbl_num ;//此处运用了强制转换

    以上代码如果在C,C++中强制转换成int型,肯定会出错,但现在在C#中却不会出错了,不过转换后的值往往是溢出值,是不精通的。这点需要大家注意。

    2.采用另一种方式转换类型,如int.parse(),int32.parse()等采用方法来转换.

    如string str="100";

    int i=int.Parse(str);

    注意:str除掉引号的类型必须和*.Parse的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错"输入字符串的格式不正确."

    3.采用后缀式转换,如k.toString(),一般运用于字符串或日期等其它类型

    int i=100;

    string s=i.ToString();

    4.采用Convert类来实现转换,该类基本支持所以类型之间的转换

    string   str="100";

    int   i = Convert.ToInt16(str);

    注意:str除掉引号的类型必须和Convert.*的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错"输入字符串的格式不正确."

     

    具体参考:http://blog.csdn.net/enjoywind/archive/2009/02/11/3876950.aspx

    2010年1月18日 4:54