73 lines
2.5 KiB
C#
73 lines
2.5 KiB
C#
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
|
|
}
|
|
}
|
|
}
|