---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
●string可以看做char的只读数组。char c=s[1];
●C#中字符串有一个重要特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改
●如果要对char进行修改,那么就必须创建一个新的字符串,用s.ToCharArray();方法,使字符串变为字符数组,然后改变,创建新的字符串,例如:
string s = "hello,world";
char[] chars = s.ToCharArray();
chars[1] = 'i';
s = new string(chars);
Console.WriteLine(s);
对数组修改后调用new string(char[])这个构造函数来创建char数组的字符串。一旦字符串被创建,那么char数组的修改也不会造成字符串被创建。
●如果为静态方法,类名.方法名;string类型比较特殊,可以new也可以不new,直接赋值。
注意:比如C#和c#是一门课程,就是如何忽略大小写?
答:在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。
要使用正则表达式,首先需要引用命名空间:
using System.Text.RegularExpressions;
然后,非常简单,使用:
Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase)
就可以达到目的了,其中最后的参数RegexOptions.IgnoreCase即为指明忽略大小写
例如:string result=Regex.Replace("C#","C","c",RegexOptions.IgnoreCase)
注意:方法中不加访问修饰符,方法中定义的变量只在方法中有效,为局部变量。
属性可以让类封装。
String类常用方法:
忽略大小写方法:
1、ToLower():得到字符串的小写程序。
2、注意:注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s.ToLower()
3、ToUpper();得到字符串的大写形式;Trim()去掉字符串的两端空白。
4、s1.Equals(s2,StringComparison.OrdinalIgnoreCase),两个字符串进行比较不区分大小写的比较
一切对象都可以调用.ToString()方法转换成字符串类型。
字符串的分割:
1、string[] Split(params char[] separator):将字符串按照指定的分隔符分割为字符串数组。
例子:string str = "my name is lilei";
string[] words=str.Split(' '); //用空格分割
for (int i = 0; i < words.Length; i++)
{
Console.WriteLine(words[i]);
}
可以用多个分隔符,例如:
string str = "How do you do?Fine,thanks!";
string[] words=str.Split(' ','?','!',',');
for (int i = 0; i < words.Length; i++)
{
Console.WriteLine(words[i]);
}
但是这个方法不能忽略空格,可以用下面当方法
2、string[] Split(char[] separator,StringSplitOptions options)将字符串按照指定的char分隔符分割为字符串数组(options取RemoveEmptyEntries的时候一出结果中的空白字符,返回值中不包含空字符串元素)
必须现有一个char类型数组,例如:
string str = "How do you do?Fine,thanks!";
char[] removeChar = { ' ', '?', '!', ',' };
string[] words=str.Split(removeChar,StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < words.Length; i++)
{
Console.WriteLine(words[i]);
}
Console.ReadKey();
字符串函数详解:
1、字符串替换:string Replace(string oldValue,string newValue)将字符串中出现oldValue的地方替换为newValue.例子:名字替换
2、取字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串
3、string Substring(int startIndex,int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错
4、bool Contains(string value)判断字符串是否含有子串value,有或者value为空为true,可以检测是否有关键字
5、bool StartsWith(string value)判断字符串是否以子串value开始
6、bool EndWith(string value)判断字符串是否以子串value结束
7、int IndexOf(string value)取子串value第一次出现的位置,找到返回value的位置,如果没有找到则为-1;若value为空,则返回0
8、int IndexOf(string value,int startIndex)从startIndex的位置开始搜索,寻找第一次出现的位置。
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------