当前位置:   article > 正文

C#中String的常用方法_c# new string

c# new string

[特点]

1.可以看作是一个只读的char数组

2.不可变性,即字符串中的字符内容不能改,,当重新给改变量赋值时,知识变量的指向改变了,但可以读。如果我      想”改变“字符串中字符的内容,怎么办那?(实际上原字符串的内容没有改变)

   解决方案:利用char数组进行修改

   1>把字符串变成字符数组,toCharArray()
   2>对字符数组进行修改
   3>把字符数组变成字符串,new string

   举例:

  1. string text = "我又漂亮了";
  2. char[] chs = text.ToCharArray();
  3. chs[1]='很';
  4. text=new string(chs);
  5. Console.WriteLine(text);
  6. Console.ReadKey();

[有关字符串的操作]

      字符串的方法分为静态方法和非静态方法,当方法是静态方法时,方法前应加String,即格式为String.方法名(7,8都是静态方法)


1.Upper,Lower,Equals的用法

  Upper:将字母转化为大写

  Lower:将字母转化为小写

  Equals:忽略字母的大小写

  1. <span style="font-size:18px;">Console.WriteLine("请输入字符串");
  2. string str1 = Console.ReadLine();
  3. str1 = str1.ToUpper();
  4. Console.WriteLine("请输入字符串");
  5. string str2 = Console.ReadLine();
  6. str2 = str2.ToUpper(); //转化成大写</span>
  7. bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase);
  8. if (result)
  9. {
  10. Console.WriteLine("输入意思相同");
  11. }
  12. else
  13. {
  14. Console.WriteLine("输入意思不同");
  15. }
  16. Console.ReadKey();</span>

2.Split:分割字符串

    Replace:替换某个字符串

    Countain:判断某字符串中是否包含某字符串

  1. <span style="font-size:18px;">string text = "好好玩耍,天天快乐";
  2. bool result = text.Contains("好好玩耍");
  3. if (result)
  4. {
  5. string[] str = text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  6. if (str[0].Contains("好好玩耍"))
  7. {
  8. str[0].Replace("玩耍", "学习");
  9. }
  10. Console.WriteLine("{0},{1}", str[0], str[1]);
  11. }
  12. else
  13. {
  14. Console.WriteLine(text);
  15. }
  16. Console.ReadKey();</span>

3.StartWith、EndWith的用法

  判断某个字符串是否以某个字符串开始(startwith)或以某个字符串结束(endwith)

  1. <span style="font-size:18px;">string text = "天气真清新";
  2. bool result = text.EndsWith("清新");
  3. if (result)
  4. {
  5. Console.WriteLine("是的");
  6. }
  7. else
  8. {
  9. Console.WriteLine("不是");
  10. }
  11. Console.ReadKey();</span>

4.indexof 的用法:判断某个字符在字符串中的索引,可以从同开始找,也可以从某个索引开始找,如果没有该字符,   则返回-1,有则返回该字符在该字符串中的索引

  查找该字符的最后一个索引,用LastIdexOf

int index = path.IndexOf("练习", 25);


5.substring的用法:截取字符串中的一段字符

  1. string path = @"C:\Users\SHUANG\Desktop\练习.txt";
  2. int order = path.LastIndexOf("\\");
  3. string name = path.Substring(order + 1);
  4. Console.WriteLine("文件名为:{0}", name);
  5. Console.ReadKey();

6.insert的用法:在字符串的某个索引前插入值

  1. string text = "我是一名学生";
  2. text = text.Insert(4, "好");
  3. Console.WriteLine(text);
  4. Console.ReadKey();

   运行结果为:我是一名好学生


7.strign,join的用法

  1. <span style="font-size:18px;">string[] text = { "火龙果", "香蕉", "苹果", "芒果" };
  2. Console.WriteLine(string.Join("|", text));
  3. Console.ReadKey()</span>;

  

  运行结果为:火龙果|香蕉|苹果|芒果

  insert与join的区别:join是在字符串数组的前提下操作的,在每个数组元素中间插入内容,而inset是对字符串操        作,  在某个索引前插入内容;


8.string.IsNullOrEmpty() 的用法:判断该字符串是否为空后NULL

  1. <span style="font-size:18px;">string text = null;
  2. bool result = string.IsNullOrEmpty(text);
  3. if (result)
  4. {
  5. Console.WriteLine("没信息");
  6. }
  7. else
  8. {
  9. Console.WriteLine("有信息");
  10. }
  11. Console.ReadKey();</span>

NULL与" "空字符串的区别:

NULL:不分配内存,无对象

“ ”:分配内存空间,有对象


9.Trim的用法 

  Trim是去掉字符串两端的空格

  TrimEnd是去掉字符串最后面的空格

  TrimStart是去掉字符串最前面的空格

  1. string text = " 好天气 ";
  2. text = text.Trim();

10.Format 的用法

<span style="font-size:18px;">Console.WriteLine(string.Format("{0:0.00}", 352435.345435));</span>

   

   运行结构为:352435.35

   Format的用法还有待研究:这是我发现写的不错的一篇有关Format使用方法的介绍:

   http://www.jb51.net/article/57216.htm

11.File.Read的用法:读取某文件的内容

  1. <span style="font-size:18px;">string path = @"C:\Users\SHUANG\Desktop\练习.txt";
  2. string[]text=File.ReadAllLines(path,Encoding.Default);
  3. for (int i = 0; i < text.Length; i++)
  4. {
  5. string[] str = text[i].Split(new char[] { ' '}, StringSplitOptions.RemoveEmptyEntries);
  6. Console.WriteLine(str[0].Length > 8 ? (str[0].Substring(0, 8) + "...|" + str[1]) : (str[0] + "|" + str[1]));
  7. }
  8. Console.ReadKey();</span>

[注意]

       可以发现上面所有的方法都不可避免的会声明string字符串变量,在大数据下或对一个string变量不断更改时,最好不用string类型,为什么?

String的工作原理:一旦被运算,就会产生一个实例,在.NET中,在修改字符串时,会把两个字符串写入内容中,然后删除先前的是string对象,然后重新声明一个string对象,然后从内存中读取字符串,再赋给string变量

StringBuild的工作原理:在C#中的System.Text中,是在原来的string对象上直接修改字符串

相比之下:在面对大数据时,用StringBuild会比用String节省很多时间









 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/1001753
推荐阅读
相关标签
  

闽ICP备14008679号