Beginner with c# 3

原创 2002年01月15日 21:29:00
最近很忙,抽空写了这篇。见谅!王先生该不会又是第一个吧!哈哈

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,所以,它们引用了同一个对象的实例。当改变它们其中一个的时候,就会影响到另一个的
值。

Beginner with c# 3

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 13:47
  • 70

AtCoder Beginner Contest 083 D题

题目大意 给定由’0’ ’1’组成的字符串,需要你求出一个长度,你可以选定区间进行翻转,翻转即是将这个区间内的0变为1,1变为0, 这个区间长度必须大于等于所求的长度,保证在能使所有字符都变为0的...
  • OttsWang
  • OttsWang
  • 2017年12月27日 20:47
  • 69

Electron From Beginner to Pro.pdf 英文原版 免费下载

下载地址:https://rejoice.ctfile.com/fs/1475340-229477456
  • jiongyi1
  • jiongyi1
  • 2017年11月27日 00:20
  • 206

Unity3D海量新书资源

Unity3D 4.x Cookbook Unity Shaders and Effects Cookbook Unity 3D Game Development by Example Begin...
  • wlj613613
  • wlj613613
  • 2015年04月11日 18:27
  • 913

Beginner with C#

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 13:46
  • 91

AtCoder Beginner Contest 067 C - Splitting Pile

题目链接:(http://abc067.contest.atcoder.jp/tasks/arc078_a )题意:n个卡片上有数字,从上到下依次取走一些卡片,和为x,剩余的数字之和为y,然后求|x-...
  • xingxingblink
  • xingxingblink
  • 2017年07月16日 13:03
  • 134

《NumPy Beginner's Guide》笔记Chapter7

# -*- coding: utf-8 -*- import numpy as np __author__ = 'ZengDong' #日期 = 18:33 """ 1. Sorting ...
  • ZengDong_1991
  • ZengDong_1991
  • 2016年04月05日 23:00
  • 620

AtCoder Beginner Contest 084 C题

题目大意:一共有N个火车站,每个火车站给出该站第一班列车的出发时间S以及到下一站的时间C和列车出发的频率F,S能被F整除,频率的意思是出发时间只能在大于等于S的时间并且出发时间能被F整除,现在要求从第...
  • OttsWang
  • OttsWang
  • 2018年01月04日 19:56
  • 68

AtCoder Beginner Contest 052

没看到Beginner,然后就做啊做,发现A,B太简单了。。。然后想想做完算了。。没想到C卡了一下,然后还是做出来了。D的话瞎想了一下,然后感觉也没问题。假装all kill.2333 AtC...
  • KEYboarderQQ
  • KEYboarderQQ
  • 2017年02月27日 21:23
  • 367

C - Shopping Street(AtCoder Beginner Contest 080)

题目链接              https://beta.atcoder.jp/contests/abc080/tasks/abc080_c 解题方法           因为一共只有十个时...
  • DongChengRong
  • DongChengRong
  • 2017年12月03日 22:29
  • 99
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Beginner with c# 3
举报原因:
原因补充:

(最多只允许输入30个字)