当前位置: 首页 > news >正文

字符串和数组基本认识

《字符串》

对象类型:可以通过class创建一个对象类型
基本类型:int float string 等 int a =10;

字符串创建的方法
1字面量创建方式:是最简单的创建方式 建议使用的一种方式

string s1 = "hello world";

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

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

3 使用@符号创建字符串 保留字符串各种符号换行等效果
string s4 = @"\n\t\r可以支持换行

//4字符串创建方式
char[] chars = new char[] { '老','头','乐' };//创建一个字符数组
string str5 = new string(chars);
Console.WriteLine(str5);
//5使用$符号进行格式化
double gz = 1000000;
double age = 18;
string str6 = $"工资{gz},年龄{age}";
Console.WriteLine(str6);


//字符串属性 类似于特殊的数组 索引值是从0开始
string str7 = "的好时机基督教";
Console.WriteLine(str7.Length);//字符个数 7
Console.WriteLine(str7[str7.Length-1]);//少

//也可以遍历字符串
for (int i = 0; i < str7.Length; i++)
{
char s = str7[i];
Console.WriteLine(s);
}

《字符串常用的方法》

//1重点:indexof()获取字符在字符串当中的索引值 如果找到了返回对应索引值,如果找不到返回值-1
string str = "abcdefg";
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 从后排往前找 找出一个与之匹配的字符
Console.WriteLine(str.LastIndexOf("7"));//7

//3 IndexOfAny() 从字符数组这个范围中找任何一个对应的索引值
Console.WriteLine(str.IndexOfAny(new char[] {'c','b', }));//1

//LastIndexOfAny()从后面往前找 找到范围当中其中一个的索引值
Console.WriteLine(str.LastIndexOfAny(new char[] {'c','b',}));//9

//5.重点 Contains()是否包含参数
Console.WriteLine(str.Contains("fg"));//true
Console.WriteLine(str.Contains("he"));//false
//6 重点:ToUpper() 把字符串转成大写
Console.WriteLine(str.ToUpper());
//7 重点:ToLower()转成小写字母
Console.WriteLine(str.ToLower());
//8 StartsWith判断字符串是否参数进行开头
string str2 = "张三大师傅";
Console.WriteLine(str2.StartsWith("张三"));//true
Console.WriteLine(str2.StartsWith("张1三"));//false


//9 .EndsWith()判断是不是以...结尾
Console.WriteLine(str2.EndsWith("师傅"));//true

//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()判断两个字符是否相等 对象比较的时候不要使用==,如果比较两个对象时候尽量使用equals()方法
Console.WriteLine(string.Equals(str,str2));//false

//12join() 把指定的分隔符号添加对应的字符串之间;
Console.WriteLine(string.Join(",", "a","b","c"));//a-b-c

//13 Substring()截取字符串是从索引值1开始,截取3个长度
Console.WriteLine(str2.Substring(1,3));//三大师

//14重点:Split() 按照指定的符号进行分割字符串
string str4 = "2005/12/10";//可以按照/进行分割,分割成三部分,三部分放到一个数组里面
Console.WriteLine(str4);
string[] ss = str4.Split('/');//结果是一个数组
Console.WriteLine(ss[0]);//2025
Console.WriteLine(ss[1]);//12
Console.WriteLine(ss[2]);//10
Console.WriteLine(str2.Split('/'));

//15重点 concat 拼接多个字符串
Console.WriteLine(string.Concat(str2,str4)); //张三大师傅2025/12/10

//16 .CopyTo() 从源字符串的参数1索引开始赋值,赋值到参数2数组里面,放到目标数组的索引值为参数3地方,复制参数4个元素
//"2025/12/10"
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个数,返回结果是剩余的
//Console.WriteLine(str4.Remove(1,4));
Console.WriteLine(str4.Remove(3));//只写一个参数的删除到最后 剩余字符

//18 Replace()用参数2替换参数1
Console.WriteLine(str4.Replace("2025", "2026"));


//19 Format()字符串格式化
string name = "张三";
double gz = 10000;
string.Format(string.Format("姓名{0};工资{1}",name,gz));
Console.WriteLine(string.Format("{0:c4}",gz)); //$1000000

//20 ToCharArray(); 把字符串转成一个个字符组成数组
for (int i = 0; i < str4.ToCharArray().Length; i++)
{
Console.WriteLine(str4.ToCharArray()[i]+"--------");
}

/*常用的字符串的方法
* 1 indexof()
* 2 Contains()
* 3 ToUpper()
* 4 ToLower()
* 5 StarsWith()
* 6 IsNullorEmpty
* 7 Equals()
* 8 Substring()
* 9 Split()
* 10 Remove
* 11 Concat()

《数组》

//数组:是一个引用类型,目的存储相同类型的数据,也可以通过索引值取出数组的元素,顺序是从0开始,也可以对数组进行遍历等操作
//数组是有长度的,最大索引值等于长度-1;
//数组命名尽量名称后面加一个s,能够让开发者知道是一个数组,例如int[]nums,string[]names

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

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

//3 可以定义带初始元素和长度
char[] chars = new char[6] { 'A', 'A', 'A', 'A', 'A', 'B' };


//4 可以定义数组不带长度 只带初始元素的,随着初始化元素个数设置数组的长度
double[] doubles = new double[] { 1, 2, 3 };

//如何给数组添加元素
// strs[0] = "黎元洪"; 单独添加元素
// strs[1] = "袁世凯"; 单独添加元素

//使用for循环添加
for (int i = 0; i < strs.Length; i++)
{
strs[i] = "鲁班" + i + "号";
}

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

//遍历数组
for (int i = 0; i < strs.Length; i++)
{
Console.WriteLine(strs[i] + "++++++");
}
//遍历方式2
//int 数组元素类型
//i 每一个元素
//in 在哪个数组
//nums 数组
foreach (int i in nums)
{
Console.WriteLine(i + "?0");
}
//int[] 一维数组
//数组包含:一维数组,多维数组,交错数组

http://www.jsqmd.com/news/75366/

相关文章:

  • 8 个专科生论文工具,AI 写作降重推荐
  • 9 个专科生论文降重工具,AI 写作推荐
  • nginx——1day
  • 如何快速解决Archipack插件在macOS系统上的安装兼容性问题
  • FLUX.1 Kontext:120亿参数重构AI图像编辑,5秒完成专业级修图
  • 高安版电视盒子刷Armbian实战:从砖头到服务器的完美蜕变
  • 漫画下载与本地阅读完整指南:从零开始构建个人数字漫画库
  • 30亿参数撬动720亿性能:Qwen3-30B-A3B重新定义大模型效率革命
  • OpenModScan:免费开源的Modbus主站工具让工业通讯测试变简单
  • 40亿参数改写检索规则:Fathom-Search-4B如何重新定义企业级AI搜索
  • WindowResizer终极指南:3分钟掌握高效窗口管理技巧
  • 70亿参数撬动企业级AI革命:Granite-4.0-H-Tiny改写本地化部署规则
  • LiteLoaderQQNT插件框架:开启QQNT无限扩展可能
  • 为什么专业视频生成都在转向Wan2.2-T2V-A14B?深度解析其140亿参数架构优势
  • Wan2.2-T2V-A14B生成视频的下载带宽需求与CDN优化建议
  • Wan2.2-T2V-A14B模型许可证类型及商用授权说明
  • 17、深入了解Bash:选项、错误码、信号与相关概念
  • 2025年颠覆性H5制作体验:h5-Dooring开源编辑器全面解析
  • 18、编程符号、命令与脚本操作全解析
  • 2025年热门的越野踏板摩托车厂家综合实力榜(2025) - 行业平台推荐
  • Venera漫画阅读器:全平台无缝阅读体验完全指南
  • 2025年质量好的南方摩托踏板摩托车/运动踏板摩托车厂家最新推荐权威榜 - 行业平台推荐
  • 东方博宜OJ 2191:树的重心(2)← 链式前向星 or 邻接表
  • 如何快速搭建企业级Bootstrap管理后台?5个实用技巧让你事半功倍
  • 2025新疆水泵哪家好?这份新疆污水泵厂家指南帮你避坑 - 栗子测评
  • Wayback Machine浏览器扩展终极指南:如何轻松回溯网页历史
  • WarcraftHelper终极指南:彻底解锁魔兽争霸III的现代化潜能
  • 28、深入了解 fwknop:配置、数据包格式与部署实践
  • 教育场景 Prompt:DeepSeek 贴合课标生成教学方案的关键词设计法
  • 720亿参数重构AI效率边界:盘古Pro MoE如何开启大模型工业化时代