//字符串是不可变的,所以要先生成一个char[],再对char[]进行修改
//再根据char[]生成新的字符串,但是原先的字符串没有改变(他就在那里)
//可以根据人生成模型,也可以根据模型生成人,但是人不能修改。
//这样根据李咏生成模型,然后把脸搞短,再生成李咏2,李咏2和李咏是两个对象
//s=new string(s);相当于李咏2把李咏杀死替换了李咏,好像李咏脸变短了,但是是两个实例
//string s="abc";是声明一个变量s,把s指向"abc"这个字符串。
//strings1 = "123456";
//char[] chars1 =s1.ToCharArray();//是根据s1复制一份char[]
//chars1[0] = 'w';//不会影响s1
//string s2 = new string(chars1);//根据chars1产生一份新的string
//Console.WriteLine(s2);
//Console.WriteLine(s1);
//chars1[0] = 'c';//并不会影响s2
//Console.WriteLine(s2);
//面试练习题:字符串转换为大写、小写、翻转,inttostring
是一个拷贝的过程:
//strings1 = "123456";
//char[] chars1 =s1.ToCharArray();//是根据s1复制一份char[]
//chars1[0] = 'w';//不会影响s1
//string s2 = new string(chars1);//根据chars1产生一份新的string
//Console.WriteLine(s2);
//Console.WriteLine(s1);
//chars1[0] = 'c';//并不会影响s2
//Console.WriteLine(s2);
string[]c = new string[]{ "零","壹","贰","叁","肆","伍","陆","柒","捌","玖","年","月","日" };
try
{
string input = "2009年9月5日";
StringBuilderstr =new StringBuilder();
for (intcount = 0; count < input.Length;count++)
{
string temp = input.Substring(count,1);
switch (temp)
{
case "1": str.Append(c[1]);break;
case "2": str.Append(c[2]);break;
case "3": str.Append(c[3]);break;
case "4": str.Append(c[4]);break;
case "5": str.Append(c[5]);break;
case "6": str.Append(c[6]);break;
case "7": str.Append(c[7]);break;
case "8": str.Append(c[8]);break;
case "9": str.Append(c[9]);break;
case "0": str.Append(c[0]);break;
case "年": str.Append(c[10]);break;
case "月": str.Append(c[11]);break;
case "日": str.Append(c[12]);break;
default: break;
}
}
this.button1.Text = str.ToString();
}
catch (Exception ex)
{
throw new Exception("已经过测试");
}
还可以进一步优化,全部用查表法