C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is
2012-08-24 00:43
821 查看
Console Demo:
namespace BoxingDemo
{
class Circle
{
int radius;
public Circle(int radius)
{
this.radius = radius;
}
public double Area()
{
return Math.PI * radius * radius;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BoxingDemo
{
class Program
{
static void Main(string[] args)
{
Circle c = new Circle(5);
Console.WriteLine(c.Area());
int i = 10;
object o = i;//装箱
Console.WriteLine(o.ToString());
int j = (int)o; //拆箱
Console.WriteLine(j);
o = c;
if (o is int) //is 为类型判断
{
int m = (int)o;
}
else if (o is Circle)
{
Circle c2 = (Circle)o;
Console.WriteLine(c2.Area());
}
int?k = o as int?; //int? 允许int为null,默认int不能为null, as为类型转换
if (k != null)
{
Console.WriteLine(k);
}
else
{
Circle c3 = o as Circle;
if (c3 != null)
{
Console.WriteLine(c.Area());
}
}
}
}
}
namespace BoxingDemo
{
class Circle
{
int radius;
public Circle(int radius)
{
this.radius = radius;
}
public double Area()
{
return Math.PI * radius * radius;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BoxingDemo
{
class Program
{
static void Main(string[] args)
{
Circle c = new Circle(5);
Console.WriteLine(c.Area());
int i = 10;
object o = i;//装箱
Console.WriteLine(o.ToString());
int j = (int)o; //拆箱
Console.WriteLine(j);
o = c;
if (o is int) //is 为类型判断
{
int m = (int)o;
}
else if (o is Circle)
{
Circle c2 = (Circle)o;
Console.WriteLine(c2.Area());
}
int?k = o as int?; //int? 允许int为null,默认int不能为null, as为类型转换
if (k != null)
{
Console.WriteLine(k);
}
else
{
Circle c3 = o as Circle;
if (c3 != null)
{
Console.WriteLine(c.Area());
}
}
}
}
}
相关文章推荐
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
- C#中数据类型的安全转换(is,as)
- C#中数据类型的安全转换(is,as)
- C#中数据类型的安全转换(is,as)
- java语言基础(59)——jdk5自动装箱和拆箱(基本数据类型与包装类之间的转换)
- C#语言学习--基础部分(十三)枚举类型和结构体
- [C#] as 和 is 运算符以及安全的类型强制转换
- C# 基础 学习 之 数据类型转换
- C# 数据类型基础,堆栈,装箱与拆箱
- C#语言基础之数据类型的转换
- [C#] as 和 is 运算符以及安全的类型强制转换
- 【JAVA学习】java基本数据类型与字符串之间的转换(基本数据类型、对象封装类、自动装箱、自动拆箱)
- C#语言学习--基础部分(十四)枚举类型和结构体(续)
- 语言基础:C#输入输出与数据类型及其转换
- C#语言学习--基础部分(十一) --值类型和引用类型
- C#语言基础— 数据类型及其转换
- Java基础学习总结(122)——Java八种基本数据类型的包装类及其装箱拆箱详解
- (一)JNI学习之C语言基础,基本数据类型
- C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)