当前位置:网站首页>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; } }
边栏推荐
猜你喜欢

TIPC addressing 2

enumrate的start属性的坑

Mongodb learning and sorting (condition operator, $type operator, limit() method, skip() method and sort() method)

webauthn——官方开发文档

mmrotate旋转目标检测框架使用记录

How does the whole network display IP ownership?

Basic usage of MySQL in centos8

TIPC 寻址2

Verilog and VHDL signed and unsigned number correlation operations

On April 17, 2022, the five heart matchmaker team received double good news
随机推荐
[play with FPGA learning 5 in simple terms ----- reset design]
The working day of the month is calculated from the 1st day of each month
spritejs
Basic usage of MySQL in centos8
原生方法合并word
从ros1到ros2配置的一些东西
2022年4月17日五心红娘团队收获双份喜报
二.Stm32f407芯片GPIO编程,寄存器操作,库函数操作和位段操作
[play with FPGA learning 2 in simple terms ----- design skills (basic grammar)]
Uncover the secrets of Huawei application market application statistics
PLC-Recorder快速监控多个PLC位的技巧
Verilog 和VHDL有符号数和无符号数相关运算
ros缺少xacro的包
Functional interfaces and method references
SQLite modify column type
Openmldb meetup No.4 meeting minutes
Internship report skywalking distributed link tracking?
liftOver进行基因组坐标转换
Is the stock account given by qiniu business school safe? Can I open an account?
PHP tea sales and shopping online store