【C#视频】之字符串的使用

1、string类常用方法

ToLower(): 得到字符串的小写形式。

注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s = s.ToLower()

ToUpper(): 得到字符串的大写形式,Trim()去掉字符串两端的空白。

S1.Equals(s2, StringComparison.OrdinallgnoreCase)两个字符串进行比较不区别大小写的比较。

            Console.WriteLine("输入第一门课程");
            string str1 = Console.ReadLine();
            //str1 = str1.ToUpper();//把字符串转换成大写的
            str1 = str1.ToLower();//把字符串转换成小写的
            Console.WriteLine("输入第二门课程");

            string str2 = Console.ReadLine();
            //str2 = str2.ToUpper();
            str2 = str2.ToLower();

            if (str1 == str2)
            {
                Console.WriteLine("课程一样" + str1);
            }
            else
            {
                Console.WriteLine("课程不同{0}--------------{1}", str1, str2);
            }
            Console.ReadKey();
            Console.WriteLine("输入第一门课程");
            string str1 = Console.ReadLine();
            Console.WriteLine("输入第二门课程");

            string str2 = Console.ReadLine();

            bool result = str1.Equals(str2,StringComparison.OrdinalIgnoreCase);//忽略大小写
            
            if (result )
            {
                Console.WriteLine("课程相同");
            }
            else
            {
                Console.WriteLine("课程不同");
            }
            Console.ReadKey();

2、String str = null 与string str = ""说明其中的区别。

答:String str = null 是不给他分配内存控件,而string str = "" 给它分配长度为空字符串的内存控件。String str = null 没有string对象, string str = ""有一个字符串对象

3、谁说字符串不可变?String s = “abc”    s = “123”,s这不是变了吗?

要区分变量名和变量指向的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。

4、字符串的分割

String[] Split (params char[] separator) :将字符串按照指定的分割符分割为字符串数组;

String[] Split (char[] separator, StringSplitOptions options)将字符串按照指定的char 分割符分割为字符串数组(options 取 RemoveEmptyEntries 的时候移除结果中的空白字符串);

            string str = "哈           哈-------,我      又   变   帅           了";
            char[]chs = new char[] { ' ', '-' };
            string[]result = str.Split(chs, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < result .Length ; i++)
            {
                Console.Write(result[i] );
            }
            Console.ReadKey();

5、字符串函数详解

1)字符串替换:string Replace(string oldValue, string newValue)

将字符串中出现的 oldValue的地方替换为 newValue。例子:名字替换。

            tring name = "小杨很邪恶";
            //name = name.Replace('很', '不');
            name = name.Replace("小杨", "老李");
            Console.WriteLine(name );
            Console.ReadKey();

2)取子字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串。

String Substring(int startIndex, int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。

            string str = "哈哈,我又变漂亮了";
            str = str.Substring(3,6);//截取字符串
            Console.WriteLine(str );
            Console.ReadKey();

3)Bool Contains(string value)判断字符串中是否含有子串value

            string name = "小杨很邪恶";
            bool result = name.Contains("小杨");
            if (result)
            {
                Console.WriteLine("字符串中包含这个字符串");
            }
            else
            {
                Console.WriteLine("不包含这个字符串");
            }
            Console.ReadKey();

4)Bool StartsWith(stringvalue)判断字符串是否以子串value开始。

Bool EndsWith(string value)判断字符串是否以子串value结束

            string str = "小杨很纯洁";
            //bool result = str.StartsWith("小杨很纯");//判断字符串是否以某个字符串开始的
            bool result = str.EndsWith("纯洁");//判断字符串是否以某个字符串结束的
            if (result )
            {
                Console.WriteLine("是");
            }
            else
            {
                Console.WriteLine("不是");
            }
            Console.ReadKey();

5)Int IndexOf(string value):取子串value第一次出现的位置

  拓展:string str = "小杨和纯洁,哈哈,果然很帅";

            1)//int index = str.IndexOf("的");//如果这个字符串在这个字符串中,就会吧这个字符串的索引显示出来,但如果不在,返回的结果为-1

            2)//int index = str.IndexOf("哈", 6);//找一个字符串,从某个索引开始找,找到了就返回索引,找不到就返回-1

            3)int index = str.LastIndexOf("帅");//找最后一个字符串的索引

            Console.WriteLine(index);

            Console.ReadKey();

           4)     

            string st = "哈哈,我变漂亮了";

            st = st.Insert(4,"又");//在某个索引处插入一个字符串

            Console.WriteLine(st);

            Console.ReadKey();

6、字符串的处理

string可以看做是char的只读数组。Char c = s【1】;例子:遍历输出string中的每个元素

C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。

如果要对char进行修改,那么就必须创建一个新的字符串,用 s . ToChararry()方法得到字符串的char数组,对数组进行修改后,调用new string(char[])这个构造函数来创建char数组的字符串。一旦字符串被创建,那么char数组的修改也不会造成字符串的变化。例子:将字符串中的A特换为a

            string text = "哈哈,小杨又帅了";
            char[] chs = text.ToCharArray();//变成字符数组
            chs[5] = '很';//改值
            string str = new string(chs);//变成新的字符串
            Console.WriteLine(str );

 

 

 

 

 

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值