String类型在C#基础中仅仅代表一个存储字符串类型的类型名,当深入的学习的时候,string可以作为面向对象中的一个类,在编程过程中使用。String类可以看做是字符类型的数组,但它的属是只读类型的。C#中字符串的重要特性就是不可变性,只能通过索引器来读取指定位置的字符进行修改。
通过创建一个新字符串调用方法得到字符串的char数组对数据进行修改后,在调用相关的构造函数或方法来创建char数组的字符串。
通过实例,简单的记录一下我练习到的字符串处理的题目,关键在于自己怎么样能真正的记住字符串处理应用的格式。
1.编写一个应用程序对输入的字符串进行操作,将其中的小写字母改为相应的大写字母,
大写字母改为相应的小写字母,其他的字符不进行操作。
Console.WriteLine("请输入一个字符串:")
String str = Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsLower(str[i]))//判断如果在用户输入的字符串中包含小写字符
{
Char b = char.ToUpper(str[i]); //定义变量B接收字符串中字符转换为大写格式
Console.Write(b);
}
else
{
Char a = char.ToLower(str[i]);//将字符串中非小写字符串转换为小写存储于定义的变量B中
Console.Write(a);
}
}
Console.readkey();
此题注意的节点在于,将用户的输入的字符串看做字符的集合或称之为字符只读数组,定义循环取数组的长度并用字符串大小写辨认的方法将字符串中的大小写检索并转换。(个人见解,望有不同简介的高人指导小弟,不胜感激);
2.比较两个字符串的长度,输出较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing和shanghai两个字符串,将输出shanghai。
Console.Write("请输入一个字符串:");
String s1 = Console.ReadLine();
Console.Write("请输入一个字符串:");
String s2 = Console.ReadLine(); ;
int a = string.Compare(s1, s2);//定义int类型变量接收字符串比较方法中的两个比较的字符串的结果
if (a == 0) //判断,如果两个字符串的结果相同
{
Console.WriteLine(s1);
}
else
{
Console.WriteLine(s2);
}
此题中可以学习到的是string.compare()方法的应用,将两个字符串比较,不知道应用的方法有多少,至少现在懂得了。String.compare方法的应用。
3.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能:
1)输出字符串的长度。
int s = 0;
Console.WriteLine("请输入一个长度大于三的字符串:");
String str =Console.ReadLine();
foreach (char x instr) //定义新的字符嵌入str数组
{
s++; //累加嵌入数组的次数
}
Console.WriteLine("该字符串的长度为:{0}", s.ToString());
Foreach语句的应用范例,将新的字符嵌入用户输入的数组,并对嵌入的次数累加得到字符串长度。
2)输出字符串中第一个出现字母a的位置。
int c = 0;
String a ="a";
int si =str.IndexOf(a, c); //定义int变量接收字符串索引数据
Console.WriteLine("第一个字母a的位置为:{0}", si);
利用字符串的Indexof索引的方法,找到并输入字符的位置,格式以及括号中的内容为要找的字符,开始查找的位置。
3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。
4)将字符串“hello”替换为“me”,输出新字符串。
str.replace
5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。
String s1 =str.Insert(3, "hello");//定义字符串变量接收利用字符串.insert方法插入的数据。
Console.WriteLine("插入子串hello后的字符串:{0}", s1);
String s2 = s1.Replace("hello","me");
Console.WriteLine("me替换hello后的字符串:{0}", s2);
string[] arr =s2.Split('m');
Console.WriteLine("以m为分隔符分离后的字符串有:");
for (int j = 0; j< arr.Length; j++)
{
Console.WriteLine(arr[j]);
以上3道练习题是对字符串的插入、替换、分割的例题,insert将特定字符串插入到指定位置。Replace替换象形位置的某段字符串,常用到的分割字符串的方法split经常能够用到,而且用法灵活,此篇文章还有没有提到的例如substring方法、string.fofmat方法、append方法等等。以后自己还会好好的总结。
自我总结下,字符串的处理接触时间短,练习少,我也想了很多的办法记忆,练习。包括好记星不如赖账,动手拿笔写,强化记忆。既慢慢的回到拿笔纸的时代,临时脱离了键盘,又能在动笔的同时动脑多想想。在这里也跟我有相似的经历的,多多互相指教学习。