Chapter 8 值类型和引用类型

上一篇 / 下一篇  2012-04-07 21:15:13 / 天气: 晴朗 / 心情: 高兴 / 个人分类:C# 2010 学习

1值类型变量的值存放在Stack;
2引用类型变量的值存放在stack中,是指向的变量的地址,该指向的变量存放在heap中。stack一般存放的数据较

qXC-JT d UC5WF0
小,heap 存放的对象较大。
 Circle c ;
 c = new Circle (param);// c 存放在stack, new 出来的对象存放在heap 中。
 
3 null 是任何引用的默认值。
4 使用Nullable 类型
  int ? i = null;//代表i 可以赋值为null;
  int j = 99;
  i =100;
  i = j;
51Testing软件测试网L$Y0k5o*jY-J]NaJF
  j = i; //illegal  因为整型变量j 不能被赋值为null;
  
  int ? j =i //这个语句是可以的,应为此时j 值可以为null;
51Testing软件测试网A1q+|9jwWQ2j;t
5 使用ref 参数 和 out 参数
都是用于对参数的引用传递,之间的区别就是ref 的参数必须初始化,out 的参数可以不做初始化。

Ry"?"Yn|0
6 装箱和拆箱
 int i = 42;
 object o = i; //装箱

Rl:Dv+Ql;^\,_~ Z3e0
 int j = (int)o;//拆箱
51Testing软件测试网)L'{{w\9v `
7System.Object 类
 Circle c ;
 c = new Circle(42);
 object o;
 o = c;   //子类可以赋值给父类。所有类的对象都可以赋值给object 对象。
51Testing软件测试网'R L7O1g _8f"YW X9?
8 安全的数据类型转换
Is 运算符
object o = c;
if (o is int)
{
   int k = (int)o;
}
else if (o is circle)
{
  Circle c2 = (Circle)o;
 Console.WriteLine(c2.Area());
 
  
}
as 运算符
51Testing软件测试网%Y{+f2P7Qm*Vl
object o = c;

:p:i'qQ#E n d!YL2eB,M(H0
int? k = o as int?;
if(k ! = null)
  Console.WriteLine(K);
}
else
{
      Circle c2 = o as Circle;
      if (c2 != null)
      {
        Console.WriteLine(c2.Area());
      }
}

TAG:

fanzhk的个人空间 引用 删除 fanzhk   /   2012-07-07 21:00:17
 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 10939
  • 日志数: 24
  • 建立时间: 2011-08-24
  • 更新时间: 2012-07-23

RSS订阅

Open Toolbar