c# 字符串基础和方法及 stringbuilder
一、char数组与字符串转化
//将字符串单个元素转换成char数组
char[] Mychar= Mystring.ToCharArray();
//将char数组转换成字符串
string THenewstring = new string(Mychar);
二、stringbuilder使用

static void Main(string[] args)
{
//stringbuilder仅用一块内存进行字符串操作,速度快,占用小,适用于大量字符串运算
StringBuilder Mybuilder = new StringBuilder();
for (int i = 0; i < 10000; i++)
{
Mybuilder.Append(i);
}
//需tostring转换为字符串
Console.WriteLine(Mybuilder.ToString());
Console.ReadKey();
}

三、字符串方法

五、字符串练习
static void Main(string[] args)
{
//一:字符串的查找 indexof, lastindexof 没有返回-1
string newlesson = "新课程abc";
int index = newlesson.IndexOf("abc");
int lastindex = newlesson.LastIndexOf("c");
Console.WriteLine($"{index},{lastindex}"); //3,5
//二:字符串比较 equals
string lesson1 = "wode";
string lesson2 = "nide";
if (lesson1.Equals(lesson2, StringComparison.OrdinalIgnoreCase))//枚举属性控制忽略大小写
{
Console.WriteLine("两个不同");
}
//三:字符串的分割 split
string example = "a, ,b,c,d,e-g s *a";
char[] seperator = { ',', '-', ' ' };//分割列表
//替换后,原先位置默认为空,枚举属性使返回数组去空
string[] newexample = example.Split(seperator, StringSplitOptions.RemoveEmptyEntries);
//两种写法,下面这种可以临时声明char数组
string[] newexample2 = example.Split(new char[] { ',', '-', ' ' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var item in newexample)
{
Console.WriteLine(item);
}
// 练习:从2008-08-02转换成年月日格式
string times = "2008-08-08";
string[] newtimes = times.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine($"{newtimes[0]}年{newtimes[1]}月{newtimes[2]}日");
//四:字符串的替换 replace
string rawstrings = "草泥马我要吃饭了";
string newreplece = rawstrings.Replace("草泥马", "***");
Console.WriteLine(newreplece); //输出:***我要吃饭了
string raw2 = raw.Replace(" ",""); //去空格,重要!
//五:字符串的截取 substring
string newstrings = "c#是最好的语言!abc";
Console.WriteLine(newstrings.Substring(1, 6));//输出:#是最好的语
//从右侧截取:substring 只能正截取,不能从后面截取,用split分割成数组,
//分割符被空格填充,下标取值
int month =Convert.ToInt32(comboBox2.SelectedItem.ToString().Split(new char[]{'月'})[0]);
int year = Convert.ToInt32(comboBox1.SelectedItem.ToString().Split(new char[] {'年'})[0]);
//六:字符串的判断
string newstringss = "c#是最好的语言!abc";
//1.判断是否空string.Empty ,是否NULL :IsNullOrEmpty
if (newstringss != string.Empty)
{
Console.WriteLine("非空");
}
//2.是否包含contains
if (newstringss.Contains("c#"))
{
Console.WriteLine("包含");
}
//3.是否以开始、以结束(startswith、endswith)
if (newstringss.StartsWith("c#"))
{
Console.WriteLine("以c#开始");
}
else if(newstringss.EndsWith("abc"))
{
Console.WriteLine("以abc结束");
}
//七:字符串去除首尾空格和特定首尾char[],trim,trimstart,trimend
string test = " ab c - f-";
char[] trimchar = { ' ', '-' };
string newtest=test.Trim(trimchar);
Console.WriteLine(newtest);//结果: "abc - f-"
//八:字符串的大小写转换 toupper,tolower
//九:字符串的数组连接
string[] names = { "a", "b", "c" };
string newnames=String.Join("-", names);
string newnames2 = String.Join("-", "wo", "ni");//不定params参数
Console.WriteLine($"{newnames},{newnames2}");//a-b-c,wo-ni
Console.ReadKey();
}

浙公网安备 33010602011771号