命名空间、值类型和引用类型、字符串
1、命名空间
相当于类的文件夹,为了解决类重名。
2、值类型和引用类型
区别:
1)在内存上存储的位置不一样
2)传递的方式不一样。
值类型:int、double、bool、char、decimal、struct、enum
引用类型:string、自定义类
值类型存储在内存的栈中,引用类型存储在内存的堆中。
3、字符串的不可变性
1)当字符串重新赋值后,老值不会销毁,而是在内存中重新开辟一个空间。
2)ToCharArray(),将字符串转换为char数组。
3)new string(char[ ] chs):能够将char数组转换为字符串。
4)一切类型都可以调用.ToString()方法转换成字符串类型。
4、字符串的各种方法
1)字符串名.Length //获取字符串的长度,即字符串中字符的个数
2)ToLower //返回一个新的字符串,将字符串中的大写字母转换成小写字母
3)ToUpper //返回一个新的字符串,将字符串中的小写字母转换成大写字母
4)Equals(string2, StringComparison.OrdinalIgnoreCase) //
5)Split //返回一个字符串类型的数组,根据指定的字符数组或者字符串数组中的字符 或字符串作为条件拆分字符串
string str = "2022-02-23"; string[] condition = { "-" }; string[] result = str.Split(condition, StringSplitOptions.RemoveEmptyEntries); Console.WriteLine("{0}年{1}月{2}日",result[0],result[1],result[2]);
6)C#查找字符串位置(IndexOf、LastIndexOf)
//IndexOf 方法得到的是指定字符串在原字符串中第一次出现的位置,LastlndexOf 方法得到的是指定字符串在查找的字符串中最后一次出现的位置 string str = "123@aaaaa@321"; int firstIndex = str.IndexOf("@"); int lastIndex = str.LastIndexOf("@"); if (firstIndex != -1) { if (firstIndex == lastIndex) { Console.WriteLine("在该字符串中仅含有一个@"); } else { Console.WriteLine("在该字符串中含有多个@"); } } else { Console.WriteLine("在该字符串中不含有@"); }
7)C#字符串替换(Replace函数)
string str = "2022-02-23"; str = str.Replace("-", "/"); Console.WriteLine(str);
8)C#截取字符串(Substring)
string str = "2022-02-23"; str=str.Substring(1,2); Console.WriteLine(str);
10)string.Join() :将数组按照指定的字符串连接,返回一个字符串。
string [] chs2 = { "a", "b", "c" }; string str=string.Join("|",chs2); Console.WriteLine(str); 》a|b|c
11)string.IsNullOrEmpry():判断一个字符串是否为空或者null。
12)Contains():判断某个字符串是否包含指定的字符串。
string str = "123@aaaaa@321"; bool b=str.Contains("a"); Console.WriteLine(b);
编号 | 属性或方法名 | 作用 |
---|---|---|
1 | Length | 获取字符串的长度,即字符串中字符的个数 |
2 | IndexOf | 返回整数,得到指定的字符串在原字符串中第一次出现的位置 |
3 | LastlndexOf | 返回整数,得到指定的字符串在原字符串中最后一次出现的位置 |
4 | Starts With | 返回布尔型的值,判断某个字符串是否以指定的字符串开头 |
5 | EndsWith | 返回布尔型的值,判断某个字符串是否以指定的字符串结尾 |
6 | ToLower | 返回一个新的字符串,将字符串中的大写字母转换成小写字母 |
7 | ToUpper | 返回一个新的字符串,将字符串中的小写字母转换成大写字母 |
8 | Trim | 返回一个新的字符串,不带任何参数时表示将原字符串中前后的空格删除。 参数为字符数组时表示将原字符串中含有的字符数组中的字符删除 |
9 | Remove | 返回一个新的字符串,将字符串中指定位置的字符串移除 |
10 | TrimStart | 返回一个新的字符串,将字符串中左侧的空格删除 |
11 | TrimEnd | 返回一个新的字符串,将字符串中右侧的空格删除 |
12 | PadLeft | 返回一个新的字符串,从字符串的左侧填充空格达到指定的字符串长度 |
13 | PadRight | 返回一个新的字符串,从字符串的右侧填充空格达到指定的字符串长度 |
14 | Split | 返回一个字符串类型的数组,根据指定的字符数组或者字符串数组中的字符 或字符串作为条件拆分字符串 |
15 | Replace | 返回一个新的字符串,用于将指定字符串替换给原字符串中指定的字符串 |
16 | Substring | 返回一个新的字符串,用于截取指定的字符串 |
17 | Insert | 返回一个新的字符串,将一个字符串插入到另一个字符串中指定索引的位置 |
18 | Concat | 返回一个新的字符串,将多个字符串合并成一个字符串 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?