multidimensional arrays
Този урок обяснява всичко за многомерните масиви и назъбените масиви в C # с примери. Многомерните масиви са известни също като правоъгълни масиви:
Разгледахме всичко за масиви и едномерни масиви в нашия предишен урок.
В този урок ще научим подробно за многомерните масиви и назъбените масиви в C # заедно с примери.
=> Разгледайте нашите уроци за обучение за дълбочина C # тук
Какво ще научите:
C # Многомерни масиви
Многомерните масиви са известни още като правоъгълни масиви. Многомерните масиви могат да бъдат допълнително класифицирани в дву или триизмерни масиви.
За разлика от едномерните масиви, при които данните се съхраняват по последователен начин на линейна линия, многомерният масив съхранява данни в табличен формат, т.е.под формата на редове и колони. Това таблично подреждане на данните е известно още като матрица.
2-мерни масиви
Най-простата форма на многоизмерен масив е двуизмерен масив. Двуизмерен масив може да се формира чрез подреждане на няколко едномерни масива заедно. Следващата фигура ще помогне за по-доброто разбиране на концепцията.
Горното изображение е графично представяне на това как изглежда двумерният масив. Обозначава се като има ред и колона. Следователно, всеки градивен блок на двумерния масив ще бъде съставен от индекса, представляващ номер на ред и номер на колона.
Многомерните масиви се декларират като едномерния масив, като единствената разлика е включването на запетая в квадратната скоба за представяне на редове, колони и т.н.
string( , ) strArray = new string(2,2);
Сега, нека да разгледаме един пример за инициализиране на двумерен масив.
2-D масив се декларира от
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Например, да кажем, че моят елемент на масив има ред „i“ и колона „j“, тогава можем да го осъществим, като използваме следния индексен масив (i, j).
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ }; /* output for the elements present in array*/ for (int i = 0; i <2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine('fruitArray({0},{1}) = {2}', i, j, fruitArray(i,j)); } } Console.ReadKey();
Резултатът от следната програма ще бъде:
fruitArray (0,0) = ябълка
fruitArray (0,1) = манго
fruitArray (1.0) = оранжево
fruitArray (1,1) = банан
Обяснение:
Първата част на програмата е декларацията Array. Декларирахме масив от низов тип с размер на ред 2 и размер на колона 2. В следващата част се опитахме да получим достъп до масива, използвайки for цикъл.
Използвахме вложен for цикъл за достъп до стойностите. Външният цикъл for предоставя номера на реда, т.е. той ще започне с 'нулевия' ред и след това ще продължи напред. Вътрешният цикъл for определя номера на колоната. С всеки номер на ред, предаден от първия за цикъл, вторият за цикъл ще присвои номер на колона и ще получи достъп до данните от клетката.
Назъбени масиви в C #
Друг тип масив, който се предлага с C #, е назъбеният масив. Назъбеният масив може да бъде дефиниран като масив, състоящ се от масиви. Назъбените масиви се използват за съхраняване на масиви вместо други типове данни.
Назъбеният масив може да бъде инициализиран с помощта на две квадратни скоби, където първата квадратна скоба означава размера на масива, който се дефинира, а втората скоба обозначава измерението на масива, което ще се съхранява в назъбения масив.
Декларация за назъбен масив
Както беше обсъдено назъбеният масив може да бъде инициализиран от следния синтаксис:
string( )( ) stringArr = new string(2)( );
Назъбеният масив може да съхранява множество масиви с различна дължина. Можем да декларираме масив с дължина 2 и друг масив с дължина 5 и двете могат да се съхраняват в един и същ назъбен масив.
Пълнещ елемент вътре в назъбения масив
Нека първо инициализираме назъбен масив.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
В горния пример ние инициализирахме назъбен масив от низов тип с индекс „0“ и „1“, съдържащ масив с размер, определен в квадратната скоба. 0-ият индекс съдържа масив от низ от дължина 2, а индексът „1“ съдържа масив от тип низ от дължина 3.
По този начин инициализираме масив. Нека сега инициализираме и поставим стойности в назъбен масив.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Следователно, както е показано в горния пример, назъбеният масив също може да бъде деклариран със стойности. За да добавим стойности, поставяме къдрава скоба след декларирания назъбен масив със списъка със стойности.
Също така е възможно да инициализирате назъбения масив, докато го декларирате.
Това може да стане чрез използване на следния подход.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
В горния пример дефинирахме назъбен масив с име “jaggedArray” с размер 2 и след това в къдравата скоба дефинирахме и декларирахме съставните му масиви.
Извличане на данни от назъбен масив
Досега научихме за поставяне на данни в назъбен масив. Сега ще обсъдим метода за извличане на данни от назъбен масив. Ще използваме същия пример, който обсъдихме по-рано, и ще се опитаме да извлечем всички данни от този масив.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} }; /* retrieve value from each array element */ for (int i = 0; i Резултатът от следната програма ще бъде:
ябълково манго
портокалов банан гуава
Обяснение:
как да направите ръчно тестване на браузър
Използвахме две за цикли за напречно преминаване през елементите. Първият цикъл for дефинира индекса за назъбения масив. Друг вложен for цикъл беше използван за напречно преминаване през масива, присъстващ в дадения назъбен индекс на масив, след което отпечатахме резултата на конзолата.
Точки за запомняне:
- Назъбеният масив е масив от масиви. т.е. съхранява масиви като свои стойности.
- Назъбеният масив ще изхвърли извън обхвата изключение, ако посоченият индекс не съществува.
Заключение
В този урок научихме за назъбени и многомерни масиви в C #. Научихме как да декларираме и инициализираме двумерен масив. Също така създадохме проста програма за извличане на данни от двуизмерен масив.
След това обсъдихме подробно за назъбения масив, който е масив от масиви.
Назъбеният масив е уникален сам по себе си, тъй като съхранява масивите като стойности. Назъбените масиви са доста подобни на други масиви с единствената разлика в типа стойност, която той съхранява.
=> БЕЗПЛАТНИ Уроци за обучение на C # за всички
Препоръчително четене
- Масиви в STL
- C # Array: Как да декларирам, инициализирам и достъп до масив в C #?
- Многомерни масиви в C ++
- C ++ масиви с примери
- Използване на масиви с функции в C ++
- VBScript масиви: Използване на функции DIM, REDIM, разделяне и Ubound масив
- Поставете множество документи в MongoDB с помощта на масиви
- Java DataTypes, Loops, Arrays, Switch и Assertions