- UID
- 9712
- 在线时间
- 0 小时
- 最后登录
- 2018-8-26
- 注册时间
- 2011-7-28
- 宅魂
- 701 点
- 贡献
- 455 点
- 宅币
- 6985 枚
- 灵石
- 0 块
- 元气(技能点)
- 19 点
- 活跃
- 21 ℃
- 听众
- 7
- 收听
- 1
签到天数: 2 天 连续签到: 2 天 [LV.1]初来乍到
第一章
- 积分
- 11403
|
本帖最后由 羞怯的渣白君 于 2012-7-20 20:12 编辑
此为MSDN的资料源地址:http://msdn.microsoft.com/zh-cn/library/ms123401
预定义类型还具有预定义的转换。例如,在预定义类型 int 和 long 之间定义了转换方法。C# 区分两种转换:“隐式转换”和“显式转换”。隐式转换仅适用于那些不用仔细检查即可安全地实现的转换。例如,从 int 到 long 的转换是隐式转换。这种转换总是会成功,而且从不会导致信息丢失。在以下示例中:
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
这是因为有溢出发生。强制转换表达式既可用于显式转换亦可用于隐式转换。
|
|