C#对象小知识点

     -->C#面向对象——for循环,大家用的非常多,也用的非常熟练,但是既然有foreach,就说明foreach也有它的好处,现比较foreach与for的利弊。
     -->foreach语法:
         foreach(类型名 临时变量 in 要遍历的对象)
         {
              Console.WriteLine(临时变量);//这里只是一种功能,其实这对大括号就是执行循环体,只不过只有临时变量可以用,要遍历的对象不”参加“循环体中的运算。
         }
         例子:string[] strs=new string[3]{"a","b","c"};
                    foreach(string temp in strs)
                    {
                          Console.Write();
                    }
                    //显示abc。
     -->foreach执行原理:首先在中,找总数strs.Length、找数据类型string、找到开始的位置,然后将指针指向str[0]上面,假设是"0"的位置。开始遍历对象,指针向下移动一位,到1的位置,返回数据给临时变量,如果数据符合类型名条件就执行循环体,否则就结束整个循环。
     -->for语法及使用规则。
     -->foreach循环特点:foreach遍历数据是通过使用一个临时变量,将值复制一份放到临时变量中,再执行循环体,因此无法访问到真正的数据,故是只读,不可写;是否继续循环是由数据类型决定的,一旦开始就一直执行循环体,直到遍历完所有内容;
     -->fore循环特点:for循环是通过对象名加索引来执行循环体;for循环呢可以控制循环进度、位置和顺序;for循环可以直接访问到数组中的内容,故可以修改数据。
     -->foreach循环一般用在遍历数组的时候使用,因为比较方便,而且对于没有顺序的数据即乱序数据的时候也用foreach循环,更多是用在集合中。
     -->for循环用于需要对数据进行批量操作的时候,比如将数组中的每个内容加上某些东西。for循环除了一些特殊场合不能使用,其它地方一般都会使用。
     -->C#面向对象——装箱与拆箱。装箱是值类型——>object类型的过程;拆箱是object类型——>值类型的过程。
     -->例子:
          int num=10; //在线性栈开辟空间进行的操作。
          object obj=num;//装箱的过程,是在托管堆中进行的,在托管堆中开辟一块内存空间,存放num复制过来的数据,是复制过来的数据。
          innt num2=(int)obj;//拆箱的过程,是将拖管堆中的数据取出来,再强制转换赋值给num2。
          //但是如果装箱的是一个变量的地址,即将一个引用类型的数据复制过来并装箱,如果修改原来的数据,那么拆箱之后的数是被修改过的数据。

          //装箱与拆箱,能够保证值类型的数据不被修改,”保存“了数据;但是对于引用类型的数据,就无法保证其安全性了。

     备注:写于2013年6月9日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值