namespace Lesson23_面向对象相关_String练习 { internal class Program { static void Main(string[] args) { Console.WriteLine("string练习题"); #region 练习题一 //请写出string中提供的截取和替换对应的函数名 string str = "123"; str = str.Substring(1); str = str.Substring(1, 1); str = "123123"; str = str.Replace("123", "哈哈哈"); #endregion #region 练习题二 string str1 = "1|2|3|4|5|6|7"; string[] strs = str1.Split('|'); str1 = ""; for (int i = 0; i < strs.Length; i++) { str1 += int.Parse(strs[i]) + 1; if(i < strs.Length - 1) { str1 += "|"; } } Console.WriteLine(str1); #endregion #region 练习题四 string strr = null;//开了栈内存1,没开堆内存0 strr = "123";//堆内存+1 string str2 = strr;//栈内存+1 str2 = "321";//堆内存+1 str2 += "123";//堆内存+1 // 请问,上面这段代码,分配了多少个新的堆空间 //3个 #endregion #region 练习题五 //编写一个函数,将输入的字符串反转。不要使用中间商,你必须原地修改输入数组。交换过程中不使用额外空间 //比如:输入{'h','e','l','l','o'} //输出 {'o','l','l','e','h'} Console.WriteLine("请输入内容"); string str3 = Console.ReadLine(); char[] chars = str3.ToCharArray(); for (int i = 0; i < chars.Length / 2; i++) { //交换 //char temp = chars[i]; //chars[i] = chars[chars.Length - 1 - i]; //chars[chars.Length - 1 - i] = temp; chars[i] = (char)(chars[i] + chars[chars.Length - 1 - i]); chars[chars.Length - 1 - i] = (char)(chars[i] - chars[chars.Length - 1 - i]); chars[i] = (char)(chars[i] - chars[chars.Length - 1 - i]); } for (int i = 0; i < chars.Length; i++) { Console.Write(chars[i]); } str3 = new string(chars); Console.WriteLine(str3); #endregion } } }