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

C#数组操作全攻略:引用测试与查询方法

第九次

一,数组的引用测试和属性方法

1, 数组的引用测试

int[] ints = new int[] {1,2,3};
int[] ints2 = ints; //赋值关系
ints[0] = 999;
Console.WriteLine(ints2[0]);
Console.WriteLine(ints[0]);

2,方法传递时候对数组引用测试

int[] ints3 = new int[] {1,2,3};
Test1(ints3); //i1 = ints3 赋值过程
Console.WriteLine(ints3[0]); //999

3,数组的属性和方法

string[] namess = {"余1伟","余2伟","余3伟","余4伟"};
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维度

4,int [] 数组, 凡是数组都是Array的实例

5,Array.Reverse(namess);//把数组元素颠倒位置

6,Copy 复制()

Array.Copy(namess,nn,4);//把参数一数组赋值到参数二数组 赋值参数3个数

Console.WriteLine(Array.IndexOf(namess,"余1伟")+"--------"); //元素所在的索引值

7,例题

定义一个数组,存储10个People对象(姓名、性别、年龄)要求年龄随机在18-30之间,性别也是随机的 姓名也是随机的

代码:

输出结果:

二,数组的查询方法

1,目的 通过数组查询一些满足条件(相等,不相等)的元素

有些方法属于Array 静态的方法

有些方法属于非静态的方法 使用对象.方法名(), 需先去创建对象

如: Array.Resize(ref args, 0);

2,FindIndex(); 根据参数二的条件 返回第一个满足条件元素的索引值。

FindIndex(); 其实它的功能已经实现了遍历功能, 并且把每个元素传递到参数二函数中

参数1,传递数组,

参数2是一个函数(方法) 里面代码的匹配条件,是一个bool返回值的,并且有一个参数 这个参数是数组里面的每一个元素

功能匹配的条件, 例如找出年龄大于18的元素的索引

3,FindAll() 找出满足所有条件的元素 返回的是一个数组

如: int[] arr = Array.FindAll(ages, FindEven);

参数一是数组, 参数二是检索条件的函数

4,ForEach() 循环遍历

如: Array.ForEach(arr, v => Console.WriteLine(v+"--------"));

参数1 遍历的数组

参数2 ,是一个函数,v就是每一个元素

5,Find() 找到满足条件的元素

如:bool FindStart(string v )
{
return v.StartsWith("w");
}
Console.WriteLine(Array.Find(new string[] { "ww", "ee", "r", "ddd", "gl", "bb" }, FindStart));

定义方法的地方,如果只用在当前函数中 可以这样定义

6,TrueForAll() 元素是不是都满足一个条件,如果都满足为true,只要一个不满足返回值为false

如:

bool 找到所有满足(int v)
{
return v < 30;
}
Console.WriteLine( Array.TrueForAll(ages, 找到所有满足));

7,Exsist() 数组里面是否存在满足条件的元素,存在一个满足条件即可

Console.WriteLine( Array.Exists(ages, 找到所有满足));//TRUE

8,Any 满足条件有一个即可 等同于ARRAY.EXIST()

如:

string[] names = new string[] { "ww", "ee", "r", "ddd", "gl", "bb" };
Console.WriteLine(names.Any(FindLast1));

9,All() 所有的元素都带满足条件 整体结果为true , 等同于Array.TrueForall()

如: Console.WriteLine(names.All(FindLast1));

10,Contains() 数组是否包含这个元素
Console.WriteLine(names.Contains("abcd")+"--------");

11,Concat 串连两个数组
string[] ss = { "2", "3" };

//string[] sss = (string[])names .Concat(ss);//(string[]) 强制转换成string[]类型//

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

http://www.cnnetsun.cn/news/69802.html

相关文章:

  • 基于 Comsol 移动网格方法的激光熔池流动数值模拟
  • BLDC无刷直流电机Matlab仿真:转速电流双闭环控制及有感无感换相方式研究
  • [光学原理与应用-491]:水冷机、零气模块CDA、功率计等影响266皮秒紫外激光器的种子源1064nm功率稳定性结果的主要因素有哪些?
  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别
  • 若依物联网
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • Docker Engine 升级指南:保障容器安全的关键步骤
  • 基于zigbee灯光控制照明及色温调节系统的设计与实现(有完整资料)
  • 7、Python高级语法:描述器、属性与元编程实战
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 11、Python 包与应用开发全解析
  • django基于智能推荐算法的全屋定制平台网站设计
  • 详谈:解释器模式(四)
  • 双Buck电路并联下的下垂控制与VDCM协同控制策略:增强直流微电网稳定性的仿真应用
  • Java 日期格式化方法:SimpleDateFormat 和 DateTimeFormatter
  • GPU 渲染模式:OpenGL ANGLE Vulkan 的选择与切换(工程师不踩坑指南)
  • 【dz-968】室内空气监测系统设计
  • 【接口测试】5_接口测试基础 _接口文档解析
  • 最近在搞风光储联合发电系统的仿真,发现直驱风机和光伏逆变器的配合特别有意思。今天就跟大伙儿唠唠这个模型搭建时遇到的坑,顺便分享几个关键模块的调参心得
  • 【保姆级教程】手把手带你读懂AI落地架构图!AI产品经理必备,每个节点都给你讲透!