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

学习笔记之C#parm、命名空间、字符串处理

2011-12-04 14:28 531 查看
一、Param

(一)Object类型:

1.任何类型都可以自动转换成Object类型:任何子类都可以默认转化为父类,而Object类型是所有类的父类

(二)Params(可变参数)

1.如果在传数组参数的时候在数组前加上params,就变成了一个可变参数,可以直接传数组的元素

如static void Test(params int[] arr){ }

2.可变数组作为参数时必须是最后一个参数

a)static void Test(params int[] arr,int age){ }//错误

b)static void Test(int age,params int[] arr){ }//正确

二、namespace(命名空间)

(一)作用

用于解决类的重名问题,可以看做“类的文件夹

(二)引用命名空间

1.如果代码和被使用的类在一个namespace则不需要using

2.在不同命名空间下的类调用有两种方法

a)写全称 namespace.class

b)先using引用命名空间,再调用(多数情况下使用)

4.命名空间不能用数字开头

5.引用命名空间小技巧:写正确类名,ctrl+.

(三)命名空间包含命名空间

.net的命名空间是逻辑划分的,和物理上的位置没有关系。system是.net的根命名空间

如:namespace TestNameSpace.SubTestNameSpace { }

三、字符串处理

(一)string

1.string类型可以看做是char的只读数组,可以通过下标来访问。

string s="hello,world!";

Console.WriteLine(s[1]);//输出:e

2.C#中字符串有一个重要的特性:不可改变性

3.字符串修改:可以用s.ToCharArr()方法取得字符串的char数组,修改数组后,创建一个新的字符串,将数组赋值给新的字符串,如:

string s="hello,world!";

char[]chars = s.ToCharArr();//用ToCharArr()方法将字符串s中的元素赋值给chars数组

chars[1]="i";改变chars中的第二个元素

s = new string(chars);//实例化一个新的string对象s,并传入数组参数chars

Console.WriteLine(s);//输出:hillo,world!

4.用双引号引起来的字符串相当于创建了一个字符串对象

如:

string s="hello,world!";

相当于new了一个字符串对象s

(二)字符串的常用方法

1.ToLower()方法:返回值为string。把字符串转换为小写

2.ToUpper()方法:返回值为string。把字符串转换为大写

3.无论是Tolower()还是ToUpper()方法都无法改变原字符串,而是将字符串的大小写转换后的结果作为一个全新的字符串,通过返回值返回。两者都是非静态方法

4.Equals()方法:比较实例和参数,返回布尔值。其中一个重载是Equals(string a,StringComparation.OrdinalIgnoreCase),其中第二个参数表示忽略大小写

5.字符串的连接“+”:“+”连接两个字符串的时候,如果“+”号两边有一个是字符串类型,那么另一个也会自动转换成字符串类型

6.ToString()方法:返回值为string。任何类型都可以调用ToString()方法转换成字符串

7.Split()方法:返回值为string[]。字符串按照指定的分隔符分割为字符串数组

a)string[] Split(params char[] separator):可传入char数组的元素

b)string[] Split(char[] separator,StringSplitOptions options):第二个参数可选择是否在返回的string数组中保留空白字符串

8.Replace()方法:返回值为string。替换字符串中的字符或字符串

string Replace(string oldValue,string newValue)将字符串中出现oldValue替换为newValue

9.Substring()方法:返回值为string。截取子字符串

a)Substring(int startIndex):取从指定位置startIndex开始一直到最后的子字符串

b)Substring(int startIndex,int length):取从指定位置startIndex开始,指定长度为length的子字符串

10.Contains(string value):返回值为bool。判断字符串中是否含有子字符串value

11.StartWith(string value):返回值为bool。判断字符串是否以value开始

12.EndWith(string value):返回值为bool。判断字符串是否以value结束

13.IndexOf(string value):返回值为Int。字符串中,返回value第一次出现的位置。如果不包含返回-1

(三)字符串理解

字符串在内存中是不可改变的。

string str01="abc";

string str02=str01;

str01="def";

Console.WriteLine(str02);

//并不是是内存中"abc"字符串被改变为"def",而是变量str01的指向由原先指向"abc"改变为指向"def"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: