news 2026/4/16 15:07:08

C#字符串与数组操作全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#字符串与数组操作全解析

第八次

一,字符串创建

1,对象类型: 可以通过class 创建一个对象类型

如:People p1 = new People() { Id=100}; //p1对象类型

2,基本类型: int float double 等 int = 10

如:int a = 10;
Test(a);
Test1(p1)

3,字符串的创建方法

【1】, 字面量创建方式: 是最简单的创建方式 建议使用的一种方式

如: string s1 = "hello yvwei";

【2】,2, 字符串中有特殊符号 \ 也是一个特殊字符 \n 换行; \t Tab; \r回车; \s space, \r将光标移回当前行的行首,但不换到新行。

如:string s3 = "我是余伟,\\n爱\\t吃肘子\\r";
Console.WriteLine(s3);

【3】,要求字符串显示\n 需要对特殊符号进行转义处理 加一个\

如:string s3 = "我是余伟,\\n爱\\t吃肘子\\r";
Console.WriteLine(s3);

【4】,使用@符号创建字符串 保留字符串各种符号换行等效果

【5】,字符串创建方式 通过new string构建字符串

如:

char[] chars = new char[] { '老', '余', '伟' };//创建一个字符数组

string str = new string(chars);
Console.WriteLine(str);

【6】,使用$符号进行格式化

如:double gz = 1000000;
double age = 18;
string str6 = $"工资{gz},年龄{age}";
Console.WriteLine(str6);

【7】,字符串属性 类似于特殊的数组 索引值从0开始

如: string str7 = "誉为是多少";
Console.WriteLine(str7.Length); // 字符个数 7
Console.WriteLine(str7[str7.Length-1]); // 少

也可以遍历

for (int i = 0; i< str7.Length; i ++)
{
char c = str7[i];
Console.WriteLine(c);
}

二,字符串的常用方法

1,,IndexOf() 获取字符在字符串中的索引值 如果找到了返回索引值, 如果找不到返回-1

如: string str = "abcdefgabc";
Console.WriteLine(str.IndexOf("a")); //0
Console.WriteLine(str.IndexOf("h")); //-1
Console.WriteLine(str.IndexOf("bc")); //1
Console.WriteLine(str.IndexOf('f', 4)); //5 从参数2开始搜索参数1
输出结果:

2,LastIndexOf() 从后往前找 找出第一个与之匹配的字符

3,IndexOfAny() 从字符组成这个范围中找任何一个对应的索引值

4,LastIndexOf() 从后往前找 找到范围其中的一个索引值

5, Contains() 是否包含参数 返回值 true/false

6,ToUpper() 把字符转成大写的

7,ToLower() 把字符串改为小写

8,StartsWith() 判断字符串中是否已该参数开头

如:

string str2 = "余伟大聪明";
Console.WriteLine(str2.StartsWith("余伟"));//true
Console.WriteLine(str2.StartsWith("余1伟"));//false

9, EndsWith() 判断是不是以 什么结尾

10,IsNullOrEmpty() 判断字符串是不是null 或者是空字符串

如:

string str3 = "";
Console.WriteLine(string.IsNullOrEmpty(str3)); //true


str3 = null;
Console.WriteLine(string.IsNullOrEmpty(str3));//true

str3 = " ";//空格字符串

Console.WriteLine(string.IsNullOrEmpty(str3));//false

11, Equals() 判断两个字符串是否相等

12,Join() 把指定的分隔符号添加对应的字符之间

13,Substring() 截取字符串从索引值为1开始,截取3个长度

14,Split() 按照指定的符号进行分割字符串

15, 重点 Concat () 拼接多个字符串

16,//从原字符串参数1索引开始赋值,赋值到参数2数组里面,放到目标数组的索引值为参数3的地方,复制参数四个元素

如:

char[] c1 = new char[15] ; //定义一个字符数组,长度为15

str4.CopyTo(1, c1, 5, 6);
for (int i = 0; i < c1.Length; i++)
{
Console.WriteLine(c1[i]+"-------------");
}

17,Remove() 删除字符 ,从参数1开始删除, 删除参数2个数, 返回结果是剩余的

18,Replace() 用参数2,替换参数1

19, Format() 字符串格式化

20,ToCharArray() 把字符串转成一个个字符所组成的数组

三,数组

1,数组: 是一个引用类型, 目的是为了存储相同的数据,也可以通过索引值取出数组的元素数组是有顺序的,顺序是从零开始, 也可以对数组进行遍历等操作

2,数组命名 尽量在名称后加一个s , 能够使开发者知道是一个数组,例如int [] nums, string [] names 等

3,数组是有长度的,最大索引值等于长度-1;

4,定义数组
【1】,字面量定义数组(快速定义数组)
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; //创建已经添加了数组的元素

【2】,定义可以带有数组长度的数组
string[] strs = new string[6]; //长度为六的字符串数组

【3】,可以定义带初始元素和长度的数组

char[] chars = new char[6] {'A', 'A', 'A', 'A', 'A', 'B'};

【4】, 可以定义数组不带长度只带初始元素的数组
double[] doubles = new double[] { 1,2,3};

【5】,

如何给数组添加元素

//strs[0] = "余伟";//单独添加元素
//strs[1] = "猪";

//使用for循环添加
for (int i = 0; i < strs.Length; i++)
{
strs[i] = "余伟"+i+"是猪";

}

【6】,如何获取数组长度

Console.WriteLine(strs.Length);//6
Console.WriteLine(strs[0]); //获取其中一个元素

//遍历数组
for (int i = 0; i < strs.Length; i++)
{
Console.WriteLine(strs[i]+"-");

【7】,

//遍历方式二
//int 数组元素的类型
//i 每一个元素
//in 在那个数组
//nums 数组
foreach (int i in nums)
{
Console.WriteLine(i+"?");
}

//int[] 一维数组
// 数组包含: 一维数组,多维数组, 交错数组

“ 上文 为本次为第八部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知."


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:19:21

飞度电感均衡:以三节电池为例的内控逻辑与sfunction逻辑运算

飞度电感均衡 三节电池为例 内附控制逻辑 sfunction 逻辑运算搞过BMS开发的老铁都知道&#xff0c;电池均衡是个磨人的小妖精。今天咱们拿三节串联电池当小白鼠&#xff0c;聊聊飞度电感均衡的骚操作。这个方案不用传统的电阻烧能量&#xff0c;改用电感当搬运工&#xff0c;能…

作者头像 李华
网站建设 2026/4/16 1:20:55

企微 SCRM 精准营销标杆:微伴 AI 标签 95% 准确率,复购率飙升

《2025 中国企业数字化私域运营白皮书》显示&#xff0c;78% 企业认为 “AI 提升私域效率” 是今年关键需求&#xff0c;但市面很多 SCRM 的 AI 只是 “噱头”。为帮大家避坑&#xff0c;我用 15 天模拟金融、零售、教育、服务四大行业真实场景实测 5 款企微 SCRM&#xff0c;结…

作者头像 李华
网站建设 2026/4/16 15:07:04

FIR 与 IIR 数字滤波器的区别总结

FIR 与 IIR 数字滤波器的区别总结 数字滤波器按冲激响应长度分为两类&#xff1a;**FIR&#xff08;Finite Impulse Response&#xff0c;有限长冲激响应&#xff09;**与 IIR&#xff08;Infinite Impulse Response&#xff0c;无限长冲激响应&#xff09;。它们在结构、稳定性…

作者头像 李华
网站建设 2026/4/10 17:45:51

LeetCode 71:简化 Unix 路径(Simplify Path)——栈 / vector

LeetCode 71&#xff1a;简化 Unix 路径&#xff08;Simplify Path&#xff09;——栈 / vector 1. 题目描述 给定一个 Unix 风格的绝对路径 path&#xff0c;请将其化简为规范路径。规则如下&#xff1a; 多个连续的 / 视为一个 /. 表示当前目录&#xff0c;忽略.. 表示返回上…

作者头像 李华
网站建设 2026/4/16 10:41:30

【毕业设计】基于springboot个人博客系统的设计与实现博客发布和阅读(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华