当前位置:网站首页>Attribute acquisition method and operation notes of C # multidimensional array
Attribute acquisition method and operation notes of C # multidimensional array
2022-07-02 11:23:00 【chengjl8】
C# Provides various attribute acquisition methods for multidimensional arrays , But its expression is different from our habits , therefore , It also took some brains , I didn't understand it until I wrote some code tests , Now let's share :
1、 One dimensional array
A one-dimensional array is a combination of data with one row and multiple columns , It will be explained in the two-dimensional array later .
2、 Two dimensional array
We define a two-dimensional array as follows :
double[,] array1 = new double[3, 6];//2 Dimension group
Its image structure is as follows , here : dimension =2; The first 1 Dimensions are rows , Here for 3; The second dimension is the number of columns per row , Here for 6.
| 0 | 1 | 2 | 3 | 4 | 5 | |
| The first 0 That's ok | ||||||
| The first 1 That's ok | ||||||
| The first 2 That's ok |
here , Get the attributes and results of the array with code as follows ( The indexes are all from 0 Start ):
double[,] array1 = new double[3, 6];//2 Dimension group
int a = array1.Rank;// dimension =2
a = array1.GetLength(0);// For the first 0 The number of elements of dimension =3
a = array1.GetLength(1);// For the first 1 The number of elements of dimension =6
a = array1.GetLowerBound(0);// For the first 0 The first element index of the dimension =0
a = array1.GetUpperBound(0);// For the first 0 Index of the last element of the dimension =2
a = array1.GetLowerBound(1);// For the first 0 The first element index of the dimension =0
a = array1.GetUpperBound(1);// For the first 1 Index of the last element of the dimension =5
a = array1.Length;// Get the total number of elements =18
3、 Three dimensional array
We define a three-dimensional array as follows :
double[,,] array2 = new double[2, 3, 6];//3 Dimension group
Its image structure is as follows , here : dimension =3; The first 1 Three dimensional layers , Here for 2, The first 2 Dimensions are rows , Here for 3; The first 3 The first dimension is the column of each row , Here for 6.

double[,,] array2 = new double[2, 3, 6];//3 Dimension group
a = array2.Rank;// dimension =3
a = array2.GetLength(0);// For the first 0 The number of elements of dimension =2
a = array2.GetLength(1);// For the first 1 The number of elements of dimension =3
a = array2.GetLength(2);// For the first 2 The number of elements of dimension =6
a = array2.Length;// Get the total number of elements =364、 More dimensions
So do more dimensions , It's just adding a few more commas to the definition [,,,,,,,], But be careful : The number of elements increases exponentially .
5、 Attention to operation
- Array operation is much faster than list , If possible , Just use this array structure .
- The efficient method of traversing an array is multi-layer for loop , The higher the dimension number, the more internal circulation ( See below ), On the contrary, the efficiency decreases :
for(int i = 0; i < 3; i++) { for(int j = 0; j < 6; j++) { array1[i, j] = -1; } }
边栏推荐
- 通过券商经理的开户二维码开股票账户安全吗?还是去证券公司开户安全?
- SQLite modify column type
- On April 17, 2022, the five heart matchmaker team received double good news
- [cloud native] 2.5 kubernetes core practice (Part 2)
- Verilog and VHDL signed and unsigned number correlation operations
- The first white paper on agile practice in Chinese enterprises was released | complete download is attached
- 函数式接口和方法引用
- 在连接mysql数据库的时候一直报错
- Indexer in C #
- Importerror: impossible d'importer le nom « graph» de « graphviz»
猜你喜欢

PKG package manager usage instance in FreeBSD

On April 17, 2022, the five heart matchmaker team received double good news

TIPC messaging3

TIPC 寻址2

TIPC Service and Topology Tracking4

从攻击面视角,看信创零信任方案实践

V2x SIM dataset (Shanghai Jiaotong University & New York University)

Webauthn - official development document

I STM32 development environment, keil5/mdk5.14 installation tutorial (with download link)

CentOS8之mysql基本用法
随机推荐
由粒子加速器产生的反中子形成的白洞
TIPC Service and Topology Tracking4
Is bond fund safe? Does the bond buying foundation lose principal?
enumrate的start属性的坑
PKG package manager usage instance in FreeBSD
Verilog 和VHDL有符号数和无符号数相关运算
VS2019代码中包含中文内容导致的编译错误和打印输出乱码问题
从ros1到ros2配置的一些东西
How to implement tabbar title bar with list component
One trick to quickly realize custom application titlebar
Array splitting (regular thinking
金山云——2023届暑期实习
Installation of ROS gazebo related packages
ASTParser 解析含有emum 枚举方法的类文件的踩坑记
Pit of the start attribute of enumrate
数字化转型挂帅复产复工,线上线下全融合重建商业逻辑
TIPC messaging3
CentOS8之mysql基本用法
Regular and common formulas
Jenkins installation