C# 数组之int[]
一、数组分类
数组可以简单分为3类:
- 1维数组
- 2维数组
- 交错数组
二、数组初始化
1.一维数组
int [] A = { 1,2,3,4 } 直接赋值
或者
int [] A = new int [4]{ 1,2,3,4 } new一下,并声明大小
2.二维数组
每行个数必须相同,适合规整的数据存储;
int[,] AA={ {1,2 }, { 4,5 }, {6,7 } }; 直接赋值
int[,] AA=new int[ , ] { {1,2 }, { 4,5 }, {6,7 } };new一下
int[,] AA=new int[3,2] { {1,2 }, { 4,5 }, {6,7 } };new 并同时声明大小
注意:没有声明子项长度时,数组每个子项的大小,必须和第一个子项相同。
3.交错数组
每项的个数不一定相同,自由度较高;
int[][] AAA = { new int[]{1}, new int[]{1,2}, new int[]{3,2} };
注意:交错数组和二维数组的区别是,交错数组并不限制子项的大小一致。
三、数组常用函数
int A[]的各种函数其实是由Array类来提供的,下面是Array的属性和方法:
|
函数名 |
方法 |
示例 |
|
Clear 清空 |
Clear(Array array, int index, int length); 根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。 |
Array.Clear(A,0,3); |
|
Copy 复制 |
void Copy(Array sourceArray, Array destinationArray, int length); 从一个数组A复制某范围内地 数据到另一个数组B |
Array.Copy(A, B, 3); |
|
GetLength 获得长度 |
int GetLength(int dimension); 获得长度 |
A.GetLength(); |
|
GetValue 获得某下标的值 |
Object GetValue(Int32) 获取一维数组中指定位置的值。索引由一个 32 位整数指定。 |
Object obj = A.GetValue(1) 等价于 A[1] |
|
SetValue 设置某下标的值 |
void SetValue(object value, int index); 当前表示设置1维数组A[index]=value; void SetValue(object value, long index1, long index2); 当前表示设置2维数组A[index1][index2]=value; |
A.SetValue(10,1); 等价于 A[1]=10 |
|
IndexOf 查找 |
int IndexOf(Array array, object value); 第一个出现value数值的位置 |
略 |
|
int LastIndexOf(Array array, object value, int startIndex); 最好出现value数值的位置 |
略 |
|
|
Sort 排序 |
Sort(Array array) 将数组按照某个规则排序 |
下面详解 |
|
Reverse 翻转 |
void Reverse(Array array); 将数组翻转 |
略 |
|
Resize 重设大小 |
void Resize<T>(ref T[] array, int newSize); 重新设置数组大小 |
略 |
更多函数,请详见:class Array类
四、重点函数详解
(1)Sort排序:
void Sort(Array array); 默认排序
void Sort(Array array, int index, int length); 从index开始,截取length长度的数据排序
void Sort(Array array, IComparer comparer); 常规的int/string类型数据,自定义排序
void Sort<T>(T[] array, Comparison<T> comparison); 结构体、类等复杂的数据类型 排序,在comparison自定义排序规则
void Sort(Array keys, Array items); 两组数组一起排序,结果按照数组keys的默认排序来排。
void Sort(Array keys, Array items, IComparer comparer); 两组数组一起排序,结果按照数组keys的自定义排序来排。
(2)Resize重新设置大小:
void Resize<T>(ref T[] array, int newSize);
此方法分配指定大小的新数组,将元素从旧的数组复制到新,然后使用新替换旧的数组。array必须是一维数组。
C# 数组之int[]的更多相关文章
- C#List转字符串,字符串转List,字符数组转Int数组
List转字符串 [C#] 纯文本查看 复制代码 ? 01 02 List<string> List = new List<string>(); string strArray ...
- java 字节数组转int
4字节数组转int类型 小端模式 /** * 数组转int类型 * * @param src * @return */ public static int bytesToInt(byte[] src) ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- C# string数组转int数组(转载)
C# string数组转int数组 用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1 ...
- C# string数组转int数组
用法 //字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转 ...
- byte数组和int之间相互转化的方法
Java中byte数组和int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送者接收的数据都是byte数组,但是int类型是4个byte组成的,如何把一个整形in ...
- 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换
在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...
- 【转】C# string数组转int数组
//字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转换方法 ...
- Java 中 byte、byte 数组和 int、long 之间的转换
Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) x; ...
- string 数组转 int 数组
用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1", "2" ...
随机推荐
- matlab中的try...catch...end
我们知道,matlab的代码是按行执行的,如果碰到错误行,则程序中断.try..catch可以使得可能出错代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误,增强代码的鲁棒性和可靠性. ...
- BZOJ1251 序列终结者(Splay平衡树)(占位)
网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量…… ...
- HihoCoder1652 : 三角形面积和2([Offer收割]编程练习赛38)(几何)(不会几何,占位)
描述 如下图所示,在X轴上方一共有N个三角形.这些三角形的底边与X轴重合,底边上两个顶点的坐标分别是(Li, 0)和(Ri, 0),底边的对顶点坐标是(Xi, Yi).其中Li ≤ Xi ≤ Ri 且 ...
- ls命令还能这么玩
排序文件大小: 我们希望以文件大小排序,我们可以使用-S 参数来这么做 如果希望文件大小从小到大排序: 如果只希望列出目录条目: 增加 /(斜线) 标记目录:要这么做,使用-p选项: 通过修改时间列出 ...
- 「LOJ#10045」「一本通 2.2 练习 1」Radio Transmission (KMP
题目描述 原题来自:BalticOI 2009 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 输入格式 第一行给出字符串的长度 L,第 ...
- 结合Django+celery二次开发定时周期任务
需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还 ...
- bzoj 2067 [Poi2004]SZN——二分+贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2067 最少的线段可以贪心地想出来.(结果还是写错了)就是偶数孩子可以自己配对,奇数孩子要带一 ...
- hdu3037Saving Beans——卢卡斯定理
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3037 卢卡斯定理模板——大组合数的取模 代码如下: #include<iostream> #i ...
- 百度地图API的第一次接触——自定义控件
1.定义一个控件类,即function function ZoomControl(){ // 设置默认停靠位置和偏移量 this.defaultAnchor = BMAP_ANCHOR_TOP_LEF ...
- IHE-PIX 备注
IHE给出了各个Actor之间如何通讯的建议: 1. 应用程序通讯时必须用MLLP包装或者解析. 2. 客户端建立连接后,服务器端必须用此连接进行应答.客户端可以继续用此连接启 ...