搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 400|回复: 2
收起左侧

[普通教程] 【MSDNのC#系列教程】<语言规范>1.2.2 转换

[复制链接]

签到天数: 2 天

连续签到: 2 天

[LV.1]初来乍到

48

主题

24

好友

1万

积分

第一章

积分
11403
发表于 2012-7-20 20:04:10 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 羞怯的渣白君 于 2012-7-20 20:12 编辑

此为MSDN的资料源地址:http://msdn.microsoft.com/zh-cn/library/ms123401


      预定义类型还具有预定义的转换。例如,在预定义类型 int 和 long 之间定义了转换方法。C# 区分两种转换:“隐式转换”和“显式转换”。隐式转换仅适用于那些不用仔细检查即可安全地实现的转换。例如,从 intlong 的转换是隐式转换。这种转换总是会成功,而且从不会导致信息丢失。在以下示例中:



using System;
class Test
{
   static void Main() {
      int intValue = 123;
      long longValue = intValue;
      Console.WriteLine("{0}, {1}", intValue, longValue);
   }
}





类型 int 转换为 long 是隐式地实现的。

相反,显式转换需用强制转换表达式 (cast) 来实现。在以下示例中:



using System;
class Test
{
   static void Main() {
      long longValue = Int64.MaxValue;
      int intValue = (int) longValue;
      Console.WriteLine("(int){0} = {1}", longValue, intValue);
   }




类型 long 转换为 int 是显式转换,它使用了强制转换表达式。输出为:


(int) 9223372036854775807 = -1


这是因为有溢出发生。强制转换表达式既可用于显式转换亦可用于隐式转换。


願爾有生之日。   得見吾君臨天下
回复

使用道具 举报

该用户从未签到

233

主题

114

好友

2万

积分

第一章

积分
20564
发表于 2012-7-20 20:09:29 | 显示全部楼层
受教了~
这是芥末的计算姬基友群
121666938
回复 支持 0 反对 1

使用道具 举报

签到天数: 2 天

连续签到: 2 天

[LV.1]初来乍到

48

主题

24

好友

1万

积分

第一章

积分
11403
 楼主| 发表于 2012-7-20 20:11:30 | 显示全部楼层
願爾有生之日。   得見吾君臨天下
回复 支持 1 反对 0

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-5-2 08:35 , Processed in 0.071000 second(s), 12 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表