添加Lesson23
This commit is contained in:
@@ -53,6 +53,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson22_面向对象相关
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson22_面向对象相关-万物之父中的方法练习", "Lesson22_面向对象相关-万物之父中的方法练习\Lesson22_面向对象相关-万物之父中的方法练习.csproj", "{0AF0A54F-67BE-46A2-B79D-813ACB6A9EF3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson23_面向对象相关-String", "Lesson23_面向对象相关-String\Lesson23_面向对象相关-String.csproj", "{24664BCD-DCDC-4DFC-B597-E22D98C3A206}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson23_面向对象相关-String练习", "Lesson23_面向对象相关-String练习\Lesson23_面向对象相关-String练习.csproj", "{E35D8933-50D7-496A-8E4C-06DDD1CC0878}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -159,6 +163,14 @@ Global
|
||||
{0AF0A54F-67BE-46A2-B79D-813ACB6A9EF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0AF0A54F-67BE-46A2-B79D-813ACB6A9EF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0AF0A54F-67BE-46A2-B79D-813ACB6A9EF3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{24664BCD-DCDC-4DFC-B597-E22D98C3A206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{24664BCD-DCDC-4DFC-B597-E22D98C3A206}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{24664BCD-DCDC-4DFC-B597-E22D98C3A206}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{24664BCD-DCDC-4DFC-B597-E22D98C3A206}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E35D8933-50D7-496A-8E4C-06DDD1CC0878}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E35D8933-50D7-496A-8E4C-06DDD1CC0878}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E35D8933-50D7-496A-8E4C-06DDD1CC0878}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E35D8933-50D7-496A-8E4C-06DDD1CC0878}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RootNamespace>Lesson23_面向对象相关_String</RootNamespace>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,96 @@
|
||||
namespace Lesson23_面向对象相关_String
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 知识点一 字符串指定位置获取
|
||||
//string是一个密封类,不能被继承
|
||||
//字符串的本质是一个char数组
|
||||
string str = "123";
|
||||
Console.WriteLine(str[0]);//一个类能通过中括号访问,那么这个类就实现了索引器
|
||||
|
||||
//转换为char数组
|
||||
char[] chars = str.ToCharArray();
|
||||
Console.WriteLine(chars[1]);
|
||||
for (int i = 0; i < chars.Length; i++)
|
||||
{
|
||||
Console.Write(chars[i]);
|
||||
}
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点二 字符串拼接
|
||||
str = string.Format("{0},{1}", 1, 2);
|
||||
Console.WriteLine(str);
|
||||
str = "123" + "456";
|
||||
Console.WriteLine(str);
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点三 正向查找字符位置
|
||||
str = "abcdefg";
|
||||
int index = str.IndexOf("b");
|
||||
Console.WriteLine(index);
|
||||
index = str.IndexOf("noindex");
|
||||
Console.WriteLine(index);//找不到返回-1
|
||||
|
||||
#endregion
|
||||
|
||||
#region 知识点四 反向查找指定字符串位置
|
||||
str = "123321";
|
||||
index = str.IndexOf("2");//正向查找第一个2
|
||||
Console.WriteLine(index);
|
||||
index = str.LastIndexOf("2");
|
||||
Console.WriteLine(index);//反向查找第一个2
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点五 移除指定位置后的字符
|
||||
str = "1234567890";
|
||||
Console.WriteLine(str);
|
||||
str = str.Remove(5);//移除指定位置后的字符
|
||||
Console.WriteLine(str);
|
||||
|
||||
str = str.Remove(1, 3);//从指定位置开始移除指定个数的字符
|
||||
//从第1个位置往后移除3个字符
|
||||
Console.WriteLine(str);
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点六 替换指定字符串
|
||||
str = "abcdefg";
|
||||
str = str.Replace("cd", "CD");
|
||||
Console.WriteLine(str);
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点七 大小写转换
|
||||
str = "abcDEF";
|
||||
str = str.ToUpper();
|
||||
Console.WriteLine(str);
|
||||
str = str.ToLower();
|
||||
Console.WriteLine(str);
|
||||
Console.WriteLine();
|
||||
#endregion
|
||||
|
||||
#region 知识点八 字符串截取
|
||||
str = "1234567890";
|
||||
str = str.Substring(3);//从指定位置开始截取到字符串末尾
|
||||
Console.WriteLine(str);
|
||||
str = "1234567890";
|
||||
str = str.Substring(3,5);//从指定位置开始截取指定个数的字符
|
||||
Console.WriteLine(str);
|
||||
#endregion
|
||||
|
||||
#region 知识点九 字符串分割
|
||||
str = "1,2,3,4,5,6";
|
||||
string[] strArray = str.Split(',');//根据指定字符分割字符串,返回字符串数组
|
||||
foreach (var item in strArray)
|
||||
{
|
||||
Console.WriteLine(item);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RootNamespace>Lesson23_面向对象相关_String练习</RootNamespace>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,72 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user