C#字符串

字面量,简写,语法糖 如:int = 10;

定义字符串: String strl ="hello";  所有和字符串相关的操作都在system string类中, string strl ="你好";string是String的语法糖, 单引号只能包裹单个字符.$"{strl},{strl}"模板字符串写法.字符串不能直接换行,要想换行要使用邮箱符,写法:string strl = @"第一行字符串 第二行字符串 第三行字符串"

@允许换行,对特殊字符进行转义. \也是转义字符.邮箱符比\转义好一点.

换行还可以通过构造函数来定义字符串:例

char[] letter = { 'h','e', 'l', 'l' ,'o'};
            string str = new string(letter);

比较值类型时,优先比较值;在比较字符串类型时优先比较值,没有比较地址;在比较饮用类型时,优先比较的的是地址,但字符串除外.

string a ="hello";//1
string b ="hello";//1
Console.WriteLine(a == b); //相等的原因是:比较字符串的值,没有比较地址
Console.WriteLine(a.Equals(b)); //Equals()相当于==
Console.WriteLine(a.CompareTo(b)); //0值表示相等 -1表示a比b小 1 表示a比b大
Console.WriteLine(string.Compare(a,b));
Console.WriteLine(string.Compare("hello","HELLO",ture/fasle)); //不区分大小写值一样,区分大小写值不同
Console.WriteLine(string.RferenceEquals(a,b));//比较两个字符串的地址
//RferenceEquals()在比较值类型时,会把值先进行"装箱"

/*string s1 = "hello";
string s2 = string Intern(s1);*/ //相当于1 s2是s1的实习生,s2与s1共享一个内存池,为了存储高效
 string s3 = "world";
            string s4 = string.Copy(s3);

            string s5 = "hello world";
            string s6 = string.Empty;
            char[] letters = { 'a','b','c','d','e'};
            s5.CopyTo(0,letters,0,5); //参数1,s5字符串开始复制的索引,参数2,复制到哪个char数组,参数3,替换的开始索引,参数4 替换的数量
            Console.WriteLine(s5);

            //判断某个字符串是不是说以某个子串开头,
            Console.WriteLine("ABCD".StartsWith("D"));

            //判断某个字符串是不是说以某个子串结尾,
            Console.WriteLine("ABCD".EndsWith("D"));
            double PI = 3.1415926;
            Console.WriteLine(PI.ToString());
            Console.WriteLine(PI.ToString("E")); //e||E表示科学计数法
            Console.WriteLine(PI.ToString("C")); //c||C表示货币格式
          //  d||D表示十进制格式, X||x表示十六进制格式

            DateTime now = DateTime.Now;
            Console.WriteLine(now.ToString("ss"));

            //从字符串查找某个子串所在的索引
            string str3 = "select * from users";
            Console.WriteLine(str3[7]);

            Console.WriteLine(str3.IndexOf("*"));
            int index = str3.IndexOf("*");
            Console.WriteLine(index);
            Console.WriteLine(str3[index]);
            //不论是indexof(),还是lastindexof()只要找到某个子串,就返回子串的索引,不再继续查找.
            //indexofany()或者lastindexofany()查询多个字符,哪个字符能找到索引,就返回哪个字符的索引,且是最小索引

            //字符串插入
            //Length表示字符串的长度,字符串索引从零开始,从length-1结束.
            string ss1 = "hello";
            Console.WriteLine(ss1.Length);
            Console.WriteLine(ss1.Insert(0,"aa"));

            string ss2 = ss1.Insert(0, "aa");
            //字符串移除 参数1,删除字符串的起始索引. 参数2,删除的字符串位数
            Console.WriteLine(ss2.Remove(1,2)); //删除的字符个数不能超过剩余的字符.
            //判断一个字符串是不是一个 空串
            string ss3 = string.Empty;
            string ss4 = ""; //空字符串表示已经分配了空间,但空间内没有储存任何的数据
            string ss5 = null;//null表示未分配空间,把一个变量设置为null,可以让gc垃圾回收此变量
                              //IsNull0rEmoty()只要mull或者空字符串,返回ture,否则返回为false

            //JOIN()把一个字符串数组用特殊字符连接成一个字符串
            string[] arr = { "苹果", "西瓜", "香蕉" };
            string s9 = string.Join("++", arr);
            Console.WriteLine(s9);


            //替换
            string ss6 = "liudehua";
            string newss6 = ss6.Replace("liu","ma");
            Console.WriteLine(newss6);

            //拆分
            string ss7 = "pingguo-xiangjiao-xigua";
            string[] ss7arr = ss7.Split('-');
            Console.WriteLine(ss7arr[0]);
            Console.WriteLine(ss7arr[1]);

            string a1 = "hello";
            char[] ltter = { 'a', 'b', 'c','d','e' };
            Console.WriteLine(ltter[0]);
            //ToCharArray()把一个字符串转换成字符型数据
            Console.WriteLine(a1.ToCharArray()[2]);

           // 大小写转换
           string a2 = "hello";
            Console.WriteLine(a2.ToUpper());
            Console.WriteLine(a2.ToLower());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C# 中的字符串是一种引用类型,表示一组 Unicode 字符。可以使用字符串字面量或字符串构造函数来创建字符串对象。以下是一些常见的字符串操作: 1. 字符串连接:使用加号操作符(+)或字符串插值($"{variable}")。 2. 字符串比较:使用 Equals() 方法或 == 运算符。 3. 字符串查找:使用 IndexOf() 或 LastIndexOf() 方法。 4. 字符串分割:使用 Split() 方法。 5. 字符串替换:使用 Replace() 方法。 6. 字符串大小写转换:使用 ToUpper() 或 ToLower() 方法。 7. 字符串格式化:使用 String.Format() 方法或字符串插值。 以下是一个示例: ``` string str1 = "Hello"; string str2 = "world"; string str3 = str1 + " " + str2; // 字符串连接 Console.WriteLine(str3); // 输出 "Hello world" bool isEqual = str1.Equals("hello", StringComparison.OrdinalIgnoreCase); // 字符串比较 Console.WriteLine(isEqual); // 输出 True int index = str3.IndexOf("world"); // 字符串查找 Console.WriteLine(index); // 输出 6 string[] parts = str3.Split(' '); // 字符串分割 Console.WriteLine(parts[0]); // 输出 "Hello" string replaced = str3.Replace("world", "everyone"); // 字符串替换 Console.WriteLine(replaced); // 输出 "Hello everyone" string upper = str1.ToUpper(); // 字符串大小写转换 Console.WriteLine(upper); // 输出 "HELLO" string formatted = String.Format("{0} {1}!", str1, str2); // 字符串格式化 Console.WriteLine(formatted); // 输出 "Hello world!" ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉玊则不达

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值