Beginner with c# 3

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 08:48 点击:
     最近很忙,抽空写了这篇。见谅!王先生该不会又是第一个吧!哈哈
  
  1。3 类型
  c#支持两种基本的类型:一种是值(value types),一种是引用(reference types)。值包括简单类型
  (char、int、和float),枚举(enum)和结构(struct)。引用包括类(class),界面(interface),
  代表(delegate)和数组阵列(array)。值与引用不同之处在于:值直接存储它的数据内容;而引用存储对象
  的引用。是不是粉费解?!打个比方吧。你在某地买了套别墅(好棒噢)。却从未去过,只知道地址,怎
  么办?你可以坐出租车,司机看了地址就知道怎样走不用你操心。你手里的地址就好像对象的名字,你把
  它写在程序中,就好像把地址给了司机。司机就是你的编译器,它知道该去哪。你豪华的房子就好比那个
  ngws sdk开发包(82mb噢,够豪华了!俺的m啊--就这样烧喽)。房子里有你想要的东东,比如你想写一句
  话(i dont like hello world),就好像上面例子,要用到“writeline”。于是,你就给出“writeline”
  的地址,比如:“console.writeline”。明白?!俺可累了。zzz... (强打精神)不知道你想到没有,
  值和引用的区别可以引出一个重要特性。值的变量和变量存储的数据是一一对应的,唯一性。而引用则不
  然。引用中不同的变量可以引用同一个对象的实例。当其中一个变量改变实例的值时,其他引用这个实例的
  变量也会受到影响(当然,变量本身并没有改变,即,地址没变)。瞧,变量只是说明存储对象的位置(地
  址),而不是对象本身。就好像你漂亮的房子被烧了,但你的地址并没有改变,但地址对应的房子就没了。
  也许是别人也有这个地址,他去烧了你的房子!好了,在给个例子:*/
  
  1: using system;
  2: class cvalue
  3: {
  4: public int value = 0;
  5: }
  6: class test
  7: {
  8: static void main() {
  9: int val1 = 0;
  10: int val2 = val1;
  11: val2 = 123;
  12: cvalue ref1 = new cvalue();
  13: cvalue ref2 = ref1;
  14: ref2.value = 123;
  15: console.writeline("values: {0}, {1}", val1, val2);
  16: console.writeline("refs: {0}, {1}", ref1.value, ref2.value);
  17: }
  18: }
  
  /* 下面是输出的结果:
  values: 0, 123
  refs: 123, 123
  
  啊哈,应该粉清楚了吧。变量val1和变量val2互不影响,它们各自有自己的存储空间。而ref2复制
  了ref1,所以,它们引用了同一个对象的实例。当改变它们其中一个的时候,就会影响到另一个的
  值。
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1