Nov
04

http://msdn.microsoft.com/zh-/library/ms228362.aspx

// 字符串示例,其中string和String是相同的,根据喜好使用

            /*
            string s1 = null;
            String s2 = s1;
            String s3 = "";
            string s4 = String.Empty;
            Console.WriteLine(s2==s3);//输出结果为False
            Console.WriteLine(s2 == s4);//输出结果为False
            Console.WriteLine(s3 == s4);//输出结果为True;
            //以上的s2赋值为null,s3,s4的赋值为空(其中String.Empty为""的替代方法)。
            //且由以上输出结果可知null与""是不同的。
            const string s5="I'm a chinese";//定义一个固定的字符串,此后不能将其它字符串赋值给s5
            //s5 = "aaa";这条语句将产生错误
            //不过不加const的化也不允许对字符串重新赋值,如下也为错误定义:
            //string s7="USA";
            //string s7="UAE";不能如此,提示“已在刺范围定义了名为‘s5’的局部变量”。
            //s7="UAE";可以重新给s7赋值,但"USA"并没有消失,只是s7现在指向了新的字符串对象"UAE",此时"USA"没被引用则在适当时将被回收
            Console.WriteLine("s5为:"+s5);/           
            char[] c = {'a','b','c','d','e'};
            string s6=new string (c);//从数组转化为字符串
            Console.WriteLine("s6为:"+ s6);//输出结果为True;
            */

            //当连接 s1 和 s2 的内容以形成一个字符串时,不会修改两个原始字符串。+= 运算符会创建一个包含组合内容的新字符串。这个新对象赋给变量 s1,而最初赋给 s1 的对象由于没有其他任何变量包含对它的引用而释放,用于垃圾回收。
            /*
            string s1 = "A string is more ";
            string s2 = "than the sum of its chars.";

            //s1 += s2;
            s1 = s1 + s2;
            System.Console.WriteLine(s1);
            // Output: A string is more than the sum of its chars.
            */
            //-=============================================
//            string s="R\tU\tOK?";//转义字符\t
//            Console.WriteLine(s);
//            string filePath = @"C:\Users\scoleridge\Documents\";//原义字符串
//            Console.WriteLine(filePath);
//            string uu = @"a
//                          b
//                          c
//                          d";
//            Console.WriteLine(uu);
//            string uu2 = @"你是""猪""";//要在字符串内输出双引号,则需套用"",即""""
//            Console.WriteLine(uu2);//输出你是"猪"
            //Console.WriteLine("请输入您的籍贯:");
            //string input =Console .ReadLine ();//从命令行读入字符串。
            //Console .WriteLine ("您是"+input+"人");
            /*
            Console.WriteLine("请输入一个整数:");
            string  inputInt =Console .ReadLine ();//inputInt的值并不是输入的整数,而是输入整数对应的数字字符串
            Console.WriteLine(@"您输入整数的对应的""字符串""是:" + inputInt);           
            int i;
            Int32.TryParse(inputInt, out i);//将数字字符串转换成数字,此时i的值为整数
            int j;
            j = i;
            Console.WriteLine("j的值是:{0},且为整型" ,j);
            */

            /*WriteLine 方法的一个重载将格式字符串用作参数。因此,可以只嵌入格式字符串,而无需显式调用该方法。
             * 但若使用 WriteLine 方法在 Visual Studio“输出”窗口中显示调试输出,则必须显式调用 Format 方法,
             * 因为 WriteLine 只接受字符串,而不接受格式字符串。有关格式字符串的更多信息,请参见格式化类型。 */
            //string s;
            //int j=6;
            //for (int i = 0; i < 10; i++)
            //{
            //    // A simple format string with no alignment formatting.
            //    //s = System.String.Format("{0} times {1} = {2}", i, j, (i * j));//格式化字符串
            //    s = string.Format("{0} times {1} = {2}", i, j, (i * j));//格式化字符串               
            //    System.Console.WriteLine(s);
            //    //Console.WriteLine("{0} times {1}={2}", i, j, (i * j));
            //}
            //Console.ReadKey();

            //子字符串===============================================================================
            string s = "Southwest Jiao Tong University";
            string s1 = s.Substring(10, 4);// 应该注意:Substring(start,length)中start应该是实际位置减一。比如J的start值为10
            Console.WriteLine(s1);//输出Jiao
            string  s2=s.Replace("South", "North");//替换
            Console.WriteLine(s2);//输出Northwest Jiao Tong University
            int i = s.IndexOf('T');
            Console.WriteLine(i); //输出15(实际位置16减1)
            int j = s.IndexOf("Jiao");
            Console.WriteLine(j);//输出10
            int k = s.IndexOf('o');
            Console.WriteLine(k);//输出 1,第一次出现o的位置
            int m = s.IndexOf('x');
            Console.WriteLine(m);//输出-1,不存在则输出-1

            string s = "Southwest Jiao Tong University";
            for (int i = 0; i < s.Length; i++)
            {
                Console.WriteLine(s[i]);
            }
            /*如果 String 方法不提供修改字符串中的各个字符所必须具有的功能,
            则您可以使用 StringBuilder 对象“就地”修改各个字符,然后使用 StringBuilder 方法创建一个新字符串来存储结果。
            在下面的示例中,假设您必须以特定方式修改原始字符串,然后存储结果以备将来使用:
            */
            //以下程序将字符串全部转换成大写
            string lowerCase = @"i love you";
            StringBuilder upperCase = new StringBuilder(lowerCase );
            for (int i = 0; i < upperCase.Length; i++)
            {
                if (char .IsLower (upperCase[i])==true )
                    upperCase [i]=char .ToUpper (upperCase [i]);
           

            }
            //string now = upperCase.ToString();
            //Console.WriteLine(now);
            Console.WriteLine(upperCase );

            //
            //string test = "cat";
            //test[0] = 'C';string类的对象不许被修改,但可以用StringBuilder类“就地”修改的字符缓冲区
            //Console.WriteLine(test);
            StringBuilder test = new StringBuilder("cat");
            test[0]='C';
            Console.WriteLine(test);

Console.WriteLine(test.ToString() );//将StringBuilder类转化为string类型

标签:,


随机文章:

最近阅读过此文章的网友:

Tags:

没人甩我?!

到此一游

注意: 你可以使用如下标签代码: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

| || |
由yo2提供博客服务 |Theme created by In My Pad.