二、关于数组、值类型、引用类型及其他

来源:互联网 发布:阅书软件 编辑:程序博客网 时间:2024/04/30 05:18

一、今天思考了一个问题,是关于值类型与引用类型的。如下:

string[] A={"a","b","c","d"};

string a;

a=A[1];

A[1]=A[2];

A[2]=a;

因为string,string[](数组)是引用类型,所以a获得的是A[1]的地址,但是随后A[1]=A[2],那么a的值是不是也随之改变呢?显然没有改变,但是没有想通为什么。看了大家的回答以及一些资料,先试着解释一下。a首先获得的是A[1]这个元素的引用地址b,将A[1]所指向的地址传b给了a,所以a的内容就是A[1]所指向的地址b。这个时候如果A[1]的内容进行了改变,也就是A[1]不指向b,那么因为a并不指向A[1],所以a的内容并没有改变。不知道是不是这样,需要以后继续思考……

二、关于字符串

字符串的操作有排序、查找、顺序互换、去首位空格、改变大小写、替换等等。在进行查找之前需要排序sort。可以通过字符串的ToCharArray()方法将字符串改变为字符串数组,将这个字符串数组赋予char[],这样就能读取或更改某一个字符的值。

三、数组

数组也是引用类型,其长度减一是最大索引数。在使用数组时,为了防止数组的索引溢出,尽量不要使用用编码,可以用Array.length-1来获取最大索引值。注意length与getlength的区别,后者获得的是某一维的长度,而length是所有长度。但是要除去交错数组,在使用length的时所获取的是外部数组的个数,不包括每个数组里面的元素个数,交错数据就是数组的数组,需要两层实例化。

四、其他:foreach的用法

foreach(type name in collection),工作原理是遍历collection中的所有项,依次赋予只读变量name,进行相关的操作(不可为name赋予新值)。

五、对于类型的转换一定要掌握、特别是显示的转换。

原创粉丝点击