String
using System;
/*
* c#编程高级学习
* 2020/4/6
*/
namespace CSharpLearn03
{
class Program
{
static void Main(string[] args)
{
string s0 = "Hello World!"; //创建字符串
int length = s0.Length; //获取字符串长度
if (s0 == "Hello World!") //比较字符串是否一样
Console.WriteLine("经比较,两字符串是一样的");
//s0 = s0 + "Hi"; //字符串添加字符(生成了一个新的s0,原先的在内存中被删掉了)
char c = s0[3]; //使用类似索引器的语法获取字符串中的某个字符
string s1 = "Hi World";
//CompareTo 比较字符串内容
int i = s0.CompareTo(s1); //两字符串相等返回0,返回-1和1的情况暂未搞懂
Console.WriteLine(i);
//Replace 用新的字符串替换旧的字符串
//s0.Replace("Hello","WWW");
//Split 根据给定字符作为断点把字符串拆分成字符数组
string[] str = s0.Split("o");
foreach(string s in str)
{
Console.Write(s);
}
//Substring 在字符串中复制指定位置的子字符串,对原字符串无影响
string s3 = s0.Substring(2, 3);
//ToLower 把字符串转换成小写形式
s3.ToLower();
//ToUpper 把字符串转换成大写形式
s3.ToUpper();
//Trim 删除首尾的空白
s3.Trim();
//判断当前字符串是否包含指定字符串,不包含返回-1,包含返回会第一个字符的索引
int index = s0.IndexOf("World");
//其他方法不多介绍,自己去了解
Console.ReadKey();
}
}
}
StringBuilder
必须要引用System.Text
using System;
using System.Text;
/*
* c#编程高级学习
* StringBuilder
* 2020/4/6
*/
namespace StringBuilder1
{
class Program
{
static void Main(string[] args)
{
//创建StringBuilder
//方法1 初始化一个StringBuilder对象
StringBuilder sb1 = new StringBuilder("Hello World");
//方法2 初始化一个空的StringBuilder对象,分配100个字符大小的内存
StringBuilder sb2 = new StringBuilder(100);
//方法3 初始化一个StringBuilder对象,分配100个字符大小的内存
StringBuilder sb3 = new StringBuilder("Hello World",100);
Console.WriteLine(sb1);
sb1.Append("***"); //给当前字符串添加字符
sb1.Insert(3, "///"); //在字符串指定位置插入字符
sb1.Remove(3, 2); //在字符串指定位置删除指定长度的字符
sb1.Replace("Hello", "Hi"); //替换指定字符
// 把当前StringBuilder中存储的字符串,提取成一个不可变的字符串
Console.WriteLine(sb1.ToString());
Console.ReadKey();
}
}
}
String和StringBuilder区别
当我们需要对一个字符串频繁的进行删除添加操作的时候,使用StringBuilder效率比较高。