您的位置:首页 > 编程语言 > C#

C#x学习之旅4

2016-04-17 11:48 489 查看
C#的另一个特性装箱拆箱

装箱就是把一个值类型转变成一个引用类型

拆箱就是反过来

装箱的例子

int iToBoxing = 100;

object iBoxed = iTOBoxing;

值类型是存储在内存栈上面

引用则是在栈上面存储一个地址,真正的内存空间是在堆上面

拆箱的例子

int iUnBoxing = (int)iBoxed;//可能会出错或者数据丢失

拆箱与装箱的操作尽量避免使用,因为会消耗比较大的资源

int? iNullable = 100; 

System.Nullable<int>iNullable2 = 100;

上面两句话完全等价

上面的意思是int可为空

iNullable.HasValue

iNullable.GetValueOrDefault()

int iii = iNullable ?? 500;

这里双问号的作用是

当前面iNullable的值为空时,赋予iii500,否则赋予iii iNullable 的值

foreach循环

例子

List<int> listInt = new List<int>(){1,2,3};

foreach (var(或者是int) intInList in listInt)

{

   

}

类要继承IEnumerable才能使用此循环
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#