System.String类型:平时在编程中对于string的用法应该是特别频繁的。string由于自身特殊的原因,它属于引用类型。
第一:既然string属于引用类型,那么是否可以用new操作符来生成呢?下面的代码是错误的。
String c = new String("aaa")
第二:我们通常的做法是不用new,而是直接赋值。
string a = "aaaa"
string可以看做是char的只读数组。charc=s[0]。string有一个重要特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。如果要对char进行修改,就必须创建一个新的字符串,用s.ToCharArray()方法得到字符串的char数组,对数组进行修改后,调用new string(char[])这个构造函数来创建char数组的字符串。
代码部分如下:
namespace _05string
{
class Program
{
static void Main(string[]args)
{
strings = "hello,world";//可以看成一个只读char[].
char[]chars = s.ToCharArray();
chars[1] = 'i';
s = newstring(chars);
Console.WriteLine(s);
//for(int i = 0; i < s.Length;i++ )
//{
// Console.WriteLine(s[i]);//通过下标来访问
//}
Console.ReadKey();
}
}
}
String类的一些方法应用。
namespace _06练习
{
class Program
{
static void Main(string[]args)
{
//stringname = "张三";
//Console.WriteLine(name.Length);
Console.WriteLine("请输入喜欢的课程名称");
strings1 = Console.ReadLine();
Console.WriteLine("请输入你喜欢的课程名称");
strings2 = Console.ReadLine();
//比较字符串,不考虑大小写
if ( string.Equals(s1,s2,StringComparison.CurrentCultureIgnoreCase)) {
Console.WriteLine("你们喜欢相同的课程");
}
else
{
Console.WriteLine("你们喜欢不同的课程");
}
Console.ReadKey();
}
}
}
string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组。
string Replace(stringoldValue,string newValue)将字符串中出现oldValue的地方替换为newValue。
取子字符串:stringSubstring(int startindex),取从位置startindex开始一直到最后的子字符串。
取子字符串:stringSubstring(int startindex,int length),取从位置startindex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
bool Contains(string value)判断字符串中是否含有字串value。
bool StartsWith(string value)判断字符串是否以字串value开始。
bool EndsWith(string value)判断字符串是否以字串value结束。
int Indexof(string value)取子串value第一次出现的位置。
string是编程中经常用的的,不仅要知道string的一些较常用的方法,还应多了解一下msdn。