C#字符串的定义和使用


C#中的字符char和字符串string几乎说是差不多,但是有一点点的区别,

string(字符,次数)//这个是该字符串重复的次数,例如:s=new string('a',1000);//就是重复1000次
例如:char[] ch = new char[] { 'F','o','l','u','n','t' };
//输出的时候就是:Folunt   如果想要改变其中的一个字符,就使用ch=[0]='f';此时输出的结果是folunt   
而字符串其实就是“一串字符”,是字符就可以一个一个的访问;
数组里面可以通过访问修改,但是字符串是不能这样修改的:例如:str1[1]='为';是错误的;
string类型的字符串只能通过渐渐修改字符串的中间字符
例如:

string str ="我是一个字符串";
char[] ch=str.ToCharArray();
ch[1]='为';
str=new string(ch);
Console.WriteLine(str);

常见的字符串的用法:
    1:字符串大小写转换
        string<strName>.ToUpper();
        string<strName>.ToLower();
        例如:在等待用户输入的时候,常常不考虑用户输入的用户名大小(或一个程序中规定使用的大小写)
        可以将用户的输入全部转换成小写,或大写再来进行比较
        如:
        Console.WriteLine("请输入用户名");
        string uid=Console.ReadLine().ToLower();//再将uid与系统中的数据进行比较;
    2:移除首尾指定字符
        方法原型
            string <strName>.Trim();//移除首尾的空格
            string<strName>.TrimStart();//移除开头的空格
            string<strName>.TrimEnd();//移除结尾的空格;
        如果要指定移除的内容,可添加一个char数组作为参数
            string <strnName>.Trim(char[] ch);
        例如:
            string str="abfcefcbcfa";
            //将首尾的abc全部去掉
            str=str.Trim('a','b','c');
            ///Trim里面的顺序没有任何关系,输出的结果是;str="fcefcbcf";
            ///在这里,Trim工作的时候,会先查询字符串的前面的字符有没有abc,一旦没有,就开始从字符串的后面开始检测,中间的不做考虑;
    3:字符串的比较方法
        1:Compare()方法:
            int res=string.Compare(string str1,string str2);
            按照字典排序比较
            当str1>str2时,返回1
            当str1=str2时,返回0
            当str1<str2时,返回-1
        2:Equals()方法
            bool <strName>.Equals(string str);
            比较如果相等就返回true,否则返回false
    4:字符串的合并与分割
        合并Join方法
            将数组str中的内容拼接成一个字符串,并在对应数组的每两项间添加分隔符;
            例如:
                string[] strs = { "没戏","卡卡","郑大世","凹凸曼"};
                string str = string.Join("|",strs);
                Console.WriteLine(str);
        分割split方法
            将字符串数组中的字符分割,分割后得到的内容放到一个数组中
            例如:
                //分析下面这句话,提取这句话的单词
                string str="Hello,How are you?";
                string[] words=str.Split(' ',','',''?');
                注:返回数组中可以有空字符串项,如果要去掉这些字符串项,可以使用例如这样的:
                string str="Hello,How are you?";
                string[] words=str.Split(new char [] {' ',',','?'},StringSplitOptions.RemoveEmptyEntries);
    5:字符串的查找
        Contains方法
            例如:Console.WriteLine("随便输入一串字母");
            string str =Console.ReadLine();
            if (str.Contains("abc"))
            {
                Console.WriteLine("字符串{0}中包含{1}",str,"abc");
            }
            else
            {
                Console.WriteLine("字符串{0}中不包含{1}",str,"abc");
            }
        IndexOf()方法//返回的是查找的字符的位置;
            string str =@"lh341621@163.com";
            ///用户名和域名
            int num =str.IndexOf('@');
            //int num1=str.LastIndexOf('@');这行代码是从后面忘前面查找;
            string user=str.Substring(0,num);
            string field=str.Substring(num+1);
            ///Substring(开始的位置[,截取字符串长度])
            ///当有两个参数的时候,从编号开始截取,截取长度为指定长度
            ///如果字符串长度不及截取长度,就会报错
            ///当使用第一个参数的时候,那么会从指定的位置开始,截取后面所有的内容;
            string user=str.Substring (3);
            
            例2:
                //            0123456789
                string str="ab@cd@ef@g";
                int num1=str.IndexOf('@',0);
                int num2=str.IndexOf('@',3);
                int num3=str.IndexOf('@',6);
                ///IndexOf使用就是从字符串左边开始找到由参数规定的字符,找到一个就返回一其位置
                
    6:字符串的插入,移除和替换
        插入:
            string str="Folunt_Jion";
            string inser="我是一个插入进来的字符串";
            str=str.Insert(1,inser);
            //则得到的新字符串是str="F我是一个插入进来的字符串olunt_Jion"
    7:判断结束或开始
        判断字符<strName>串是否以某字符开始或结束
            bool <strName>.StartsWith(string str);
            bool<strName>.EndsWith(string str);
    8:string.Format();使用的方法就是把参数里面的组合拼接起来
        例如:Console.WriteLine("{0}{1}{2}",1,2,3);///得出的结果就是:123;是对参数里面的拼接
        string str=string.Format("{0}{1}{2}","字符串","拼接","123");//其实CW就是调用这个方法;
        
            


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值