news 2026/4/21 20:47:04

【第九天】09c#今日小结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【第九天】09c#今日小结

1.数组的引用测试和数组的属性和方法

using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace _02数组的引用测试和数组的属性和方法 { internal class Program { static void Main(string[] args) { //定义一个数组,存储10个People对象(姓名、性别、年龄)要求年 //龄随机在18-30之间,性别也是随机的 姓名也是随机的 People[] ps = new People[10];//创建10个长度的数组 存放People类型对象 Random ran = new Random(); //随机对象 //定义姓的数组 string[] xings = new string[] { "张","王","邢","陈","刘","许","马","毕","郭","李","华"}; string[] names = new string[] { "钢蛋","铁蛋","臭蛋","丫蛋","核弹","氢弹","蛋蛋" }; for (int i = 0; i < ps.Length; i++) { int i1 = ran.Next(0, xings.Length);//姓的随机数范围 int i2 = ran.Next (0,names.Length);// 名随机数 People p = new People(); //创建10个对象 p.Name = xings[i1] + names[i2]; p.Age = ran.Next(18, 30); //枚举类型 == //ran.Next(1,3)数字类型 p.XingBie = ran.Next(1, 3) == 1 ? People.Sex.man : People.Sex.woman; ps[i] = p;//t添加数组元素 } //遍历所有的对象显示 for (int i = 0; i < ps.Length; i++) { Console.WriteLine(ps[i].Name + "\t" + ps[i].Age + "\t" + ps[i].XingBie); } //数组的引用测试 int[] ints = new int[] {1,2,3}; int[] ints2 = ints; //赋值关系 ints[0] = 999; Console.WriteLine(ints2[0]);//999 Console.WriteLine(ints[0]);//999 //方法传递参数时候对数组引用测试 int[] ints3 = new int[] { 1, 2, 3 }; Test1(ints3); //i1 =ints3 赋值过程 Console.WriteLine(ints3[0]);//999 //数组的属性和方法 string[] namess = {"李易峰","吴亦凡","罗志祥","蔡徐坤" }; string[,] nas = new string[3,4];// 二维数组 Console.WriteLine(namess.Length);//32位数组长度 Console.WriteLine(namess.LongLength);//64位数字数组长度 Console.WriteLine(namess.Rank);//1维度 Console.WriteLine(nas.Rank);//2维度 //int[] 数组,凡是数组都是Array的实例 //Array.Clear(namess, 3, 1);// 从参数1数组的参数2位置删除参数3个数的元素, //把删除的元素设置为默认值 // Array.Reverse(namess); //把数组元素颠倒位置 string[] nn = new string[10]; //Copy()复制 Array.Copy(namess,nn,4);//把参数1数组复制到参数2数组 复制参数3个数 //IndexOf() 元素所在索引值 Console.WriteLine(Array.IndexOf(namess, "蔡徐坤")+"---------"); //3 Console.WriteLine(namess[0] + namess[1] + namess[2] + namess[3]); foreach (string item in nn) //快速遍历 { Console.WriteLine(item); } Console.ReadLine(); } static void Test1(int[] i1) //参数是一个数组 { i1[0] = 999; } } class People { // 枚举类型 名称Sex 定义Sex类型的变量 public enum Sex { man = 1, //男 woman = 2,//女 } public string Name { get; set; } // 姓名 public Sex XingBie { get; set; }//性别枚举 public int Age { get; set; } // 年龄 } }

2.数组的查询方法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _03数组的查询方法 { internal class Program { static void Main(string[] args) { //查询目的 :通过数组查询一些满足条件(相等、不等等)的元素 //有些方法属于Array静态的方法 使用Array.方法() //有些方法属于非静态的方法 使用对象.方法名(),需要先去创建对象 int[] ages = { 1, 2, 3, 4, 5, 6, 7, 8,20,36,29 }; //现在找到满足年龄是成年的人 //1 FindIndex():根据参数2的条件返回第一个满足条件元素的索引值, // FindIndex()其实他的功能已经实现了遍历功能,并且把元素传递到参数2函数中 //参数1:传递数组 //参数2 是一个函数,里面代码匹配的条件,是bool返回值的 并且有一个参数 //这个参数数组里面每一个元素 例如找年龄大于18的元素的索引 Console.WriteLine(Array.FindIndex(ages, FindBig18) );//8 //Console.WriteLine(Array.FindIndex(ages, v => v%2==0 )); 下一个课件讲 Console.WriteLine(Array.FindIndex(new string[] {"张三","历史","王五","马六" },FindName)); //2 FindAll() 找到满足条件所有的元素 返回是一个数组 //参数1是数组,参数2检索条件的函数 int[] arr= Array.FindAll(ages,FindEven); //3 ForEach()循环遍历 //参数1 遍历的数组 //参数2 是一个函数,v就是每一个元素 Array.ForEach(arr, v => Console.WriteLine(v+"--------")); //4 Find 找到满足条件的元素 //定义方法的地方 如果方法只用在当前函数中 可以这样定义 bool FindStart(string v) { return v.StartsWith("ssr"); } Console.WriteLine(Array.Find(new string[] { "ss", "ssr", "r", "a", "b" }, FindStart)); //5 FindLast() 从后面找 找到满足条件的元素 bool FindLast1(string v) { return v.StartsWith("ab"); } Console.WriteLine(Array.FindLast(new string[] { "ss", "ssr", "r","ab" ,"abc", "b" }, FindLast1)); //6 TrueForAll() 元素是不是都满足一个条件,如果都满足 为true,只要一个不满足返回值为false bool 找到所有满足条件函数(int v) { return v < 30; } Console.WriteLine(Array.TrueForAll(ages, 找到所有满足条件函数)); //7 Exists()数组里面是否存在满足条件的元素,存在一个满足条件即可 Console.WriteLine(Array.Exists(ages, 找到所有满足条件函数)); // true //8Any() 满足条件有一个即可 等同于Array.Exist() string[] names = new string[] { "ss", "ssr", "r", "ab", "abc", "b" }; Console.WriteLine(names.Any(FindLast1)); //9 All()所有的元素都得满足条件 整体结果为true, 等同于 Array.TrueForAll() Console.WriteLine(names.All(FindLast1)); //10Contains() 数组是否包含这个元素 Console.WriteLine(names.Contains("abcd")+"------"); //11Concat() 串联俩个数组 string[] ss = { "2", "3" }; foreach (string item in names.Concat(ss)) { Console.WriteLine(item+"++++++++"); } Console.ReadKey(); } static bool FindBig18(int v) { //v就是每一个元素 ages[i] return v > 18; //如果v大于18 返回true ,如果v<=18 返回false } static bool FindName(string v) { return v =="张三"; } static bool FindEven(int v) { return v % 2 == 0; } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 18:52:32

传统学习 vs AI辅助:准备ES面试的效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个Elasticsearch面试准备效率对比工具&#xff0c;一侧展示传统学习方法&#xff08;手动查阅文档、书籍&#xff09;&#xff0c;另一侧展示AI辅助学习&#xff08;即时解答…

作者头像 李华
网站建设 2026/4/21 0:56:44

CI/CD效率革命:传统3天 vs AI辅助3分钟的对比实验

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个CI/CD效率对比工具&#xff0c;能够&#xff1a;1. 记录手动编写部署脚本的时间成本 2. 分析常见错误类型及出现频率 3. 展示AI生成等量脚本的时间 4. 自动对比两者代码质量…

作者头像 李华
网站建设 2026/4/21 2:26:47

永磁同步电机在线参数辨识仿真模型,使用MRAS算法辨识,辨识精度很高。 可提供参考论文和解答以...

永磁同步电机在线参数辨识仿真模型&#xff0c;使用MRAS算法辨识&#xff0c;辨识精度很高。 可提供参考论文和解答以及电机控制相关资料。永磁同步电机参数辨识这事儿说难也不难&#xff0c;关键得找对方法。最近在玩MRAS&#xff08;模型参考自适应&#xff09;辨识方案&…

作者头像 李华
网站建设 2026/4/21 2:25:41

Buck DCDC学习指南:适合初学者的设计与仿真资源

buck DCDC 适合初学者学习&#xff0c;有配套的设计仿真、原理说明pdf&#xff0c;还有参考轮文&#xff0c;视频 tsmc18工艺&#xff0c;正向设计的恒定时间控制&#xff08;AOT&#xff09;的dcdc&#xff0c;电压环路。 输入电压1.6-1.8v &#xff0c;输出电压0.4&#xff…

作者头像 李华
网站建设 2026/4/16 11:21:09

【必读收藏】AI智能体架构与三大核心协议详解:MCP、A2A和ANP完全指南

加粗样式文章介绍了AI智能体的三大核心组成部分&#xff1a;语言模型、工具和编排层&#xff0c;并详细阐述了三种主要代理协议。MCP作为智能体与工具间的桥梁&#xff0c;提供统一工具访问接口&#xff1b;A2A支持智能体间点对点通信与协作&#xff1b;ANP构建大规模智能体网络…

作者头像 李华
网站建设 2026/4/18 3:08:18

1小时搞定Macyy移动APP交互原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建Macyy移动APP的高保真原型&#xff0c;包含&#xff1a;1.商品浏览瀑布流 2.AR试衣间入口 3.语音搜索功能 4.智能推荐板块 5.一键支付流程。使用React Native框架&#xff0c;生…

作者头像 李华