C#基础—数组
C#基础之数组
- 1. 数组的定义与初始化
一维数组:
(1) int [] A = new int[4]{ 0,1,2,3};
(2) int[] B = new int[4/变量];
(3) int[] C = { 1, 2, 3, 4 };
(4) int[] D; D = new int[4] { 1, 2, 3, 4 };
注意:
(1) int [] A 第一个[] 不能有行数限制,要在new里设置。
(2) new 表示的是创建数组并初始化。Int型为0,bool型为false,引用类型为null
(3) 如上(4)不带new的简化定义,在初始化时必须带new。如:int[] D; D ={ 1, 2, 3, 4 }; 是错误的。
多维数组:这里以二维数组为例 [,] [, ,]
大多与一维数组相同,但注意要用{}表示一行,{}里表示几列(规模嵌套)
(1) int [,] n1 = new int [3,2] {{1,2},{3,4},{5,6}};
(2) int [,] n1 = new int [,] {{1,2},{3,4},{5,6}};
(3) int [,] n1 = {{1,2},{3,4},{5,6}};
- 2. 数组的属性
(1) 数组的秩:即数组的维数。Int x=数组名.Rank;
(2) 数组的长度:即数组的元素个数 总长度:int a = 数组名.Length; 维数长度:int b =数组名.Length(维数序号); 维数序号从0开始
- 交错数组:交错数组相当于一维数组的每一个元素还是一个数组,这个数组的维数可以多维的,且每一个元素数组的规模可以是不一定的,这就在多维数组是数组的数组的基础上的约束。但是其维度是固定的。
一维:
(1) Int [] [] n1=new int [2][] //此处表明子数组是一维的
{
new int[] {1,3,5}, //第一个子数组的长度为3
new int[] {2,4,6,8,10},//第二个子数组的长度可以不同为5
};//注意此处的;号 和里面的new
(2) Int [] [] n2=new int [][] {new int[] {1,3,5}, new int[]{2,4,6,8,10} };
(3)Int [] [] n3= { new int[] {1,3,5}, new int[] {2,4,6,8,10} };
以上三种定义初始化方法等效
二维:
Int [] [,] n4 = new int [3] [,]
{
new int[,] {{1,2},{3,4}},
new int[,] {{1,2},{3,4},{5,6}},
new int[,] {{1,2},{3,4},{5,6},{7,8}},
};
//总结各种数组定义及初始化的格式:
数据类型 【】格式(不加数字)数组名 = new 数据类型 【】格式(加数组){ 初始化值(按行列分组初始化) }
- 4. 动态改变一维数组的大小
Array.ReSize(ref 要改变的数组名,调整后的大小);
//注意:这里的大小是数组长度,而不是内存大小!
若大小大于原数组大小,大于原大小,则将原数组的元素复制到新数组,其后的元素为自动默认值。若小于,则填满为止。若等于,则不进行操作。
- 5. 数组元素的排序与查找
排序:
(1) 升序: Array.Sort(数组名);
(2) 降序:Array.Reverse(数组名);
查找:Array.Indexof(数组名,所查的元素(注意要与数组的类型相同));
//字符串的查找Indexof(indexOfAny) 是用实例调用 数组的IndexOf是用类调用
- 6. 数组元素的统计:用数组的实例调用函数
- 求平均值:数组名.Average();
- 求和:数组名.Sum();
- 求最大值:数组名.Max();
- 求最小值:数组名.Min();
注意:(1)要在头文件中加入 Using System.Linq;
// 语言集成查询(英语:Language Integrated Query,缩写:LINQ),发音"link",是微软的一项技术,新增一种自然查询的SQL语法到.NET Framework的编程语言中,当前可支持C#以及Visual Basic .NET语言
(2)只用int 型数组才可以用这个函数
C#基础—数组的更多相关文章
- 【搬砖】安卓入门(4)- Java开发编程基础--数组
05.01_Java语言基础(数组概述和定义格式说明)(了解) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...
- PHP基础 数组函数 的总结
<?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- java基础-数组的折半查找原理
java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...
- Java基础-数组常见排序方式
Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- Java语言基础(数组)
Java语言基础(数组概述和定义格式说明) A:为什么要有数组(容器) 为了存储同种数据类型的多个值 B:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数 ...
- 算法与数据结构基础 - 数组(Array)
数组基础 数组是最基础的数据结构,特点是O(1)时间读取任意下标元素,经常应用于排序(Sort).双指针(Two Pointers).二分查找(Binary Search).动态规划(DP)等算法.顺 ...
- Java编程基础——数组和二维数组
Java编程基础——数组和二维数组 摘要:本文主要对数组和二维数组进行简要介绍. 数组 定义 数组可以理解成保存一组数的容器,而变量可以理解为保存一个数的容器. 数组是一种引用类型,用于保存一组相同类 ...
- 《Java基础——数组的定义与使用》
Java基础--数组的定义与使用 一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...
随机推荐
- 深入kubernetes调度之NodeSelector
Kubernetes的调度有简单,有复杂,指定NodeName和使用NodeSelector调度是最简单的,可以将Pod调度到期望的节点上. 1 NodeNamePod.spec.nodeName用于 ...
- Java编程思想之四控制执行流程
程序必须再执行过程中控制它的世界,并做出选择.在Java中,你要使用执行控制语句来做出选择. 4.1true和false 所有条件语句都利用条件表达式的真或假来决定执行路径. Java不允许使用数字作 ...
- IT项目经理都需要具备哪些能力
发布时间:05-2009:24优质原创作者 项目经理是IT行业中比较常见的职位,工作职责主要包括三个方面,其一是资源整合任务:其二是沟通协调任务:其三是保障项目的时间周期. 资源整合能力是项目经理的重 ...
- SpringBoot(十八):SpringBoot2.1.1引入SwaggerUI工具
Swagger是一个有用web界面的提供实体模型结构展示,接口展示,调测等的一个工具,使用它可以提高开发者开发效率,特别是前后端配合开发时,大大省去了沟通接口耗费的时间:服务端开发完接口发布后,UI端 ...
- 【重庆师范大学】PHP博客训练-Thinkphp
设计数据库 CREATE TABLE `user` ( `user_id` int unsigned NOT NULL AUTO_INCREMENT, `username` varchar() COM ...
- jcenter下载不了时,用国内镜像下载解决
修改build.gradle,以下是原本的配置信息 buildscript { repositories { google() jcenter() } dependencies { classpath ...
- 基于springboot+jquery+H5的文件(并发+断点+分片)的上传方案
1.支持文件分片断点续传 2.支持已上传文件再次上传时秒传 3.多个人对同一个文件同时上传可以多线程并发协调上传,加快超大文件的上传速度. 技术点:springboot + webflux + red ...
- 使用NPOI或EPPlus来导出Excel文件实例,可在Excel文件加密
使用NPOI.dll组件来导出Excel文件,并设置样式,Nuget引用即可. packages\NPOI.2.1.3.1\lib\net20\NPOI.dll #region Excel prote ...
- Centos7.6使用yum安装PHP7.2
Centos7.6使用yum安装PHP7.2 1.安装源 安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包. php高版本的yum源地址,有两部分,其中一部分是epel- ...
- Navicat连接MySQL8.0出现1251-Client does not support authentication protocol requested by server;
因为安装的MySQL是8.0版本的,因为在安装的时候采用了新的加密方式. 我们需要使用 cmd命令,连接mysql 1. 更改加密方式 mysql> ALTER USER 'root'@'l ...