C# - C Sharp: Mảng (Array) | V1Study
Có thể bạn quan tâm
Mảng (Array) trong C# là một tập hợp các phần tử (các biến) có cùng kiểu dữ liệu, cùng tên nhưng khác nhau về chỉ số và các phần tử được cấp phát các vùng nhớ liên tục nhau.
Trong C# mặc định chỉ số của phần tử đầu tiên của mảng là 0 và các chỉ số lân cận nhau cách nhau 1 đơn vị, nghĩa là 0, 1, 2, ..., n-1 với n là kích thước mảng.
Mảng một chiều
Cách 1:
Kiểu_dữ_liệu[] Tên_mảng = new Kiểu_dữ_liệu[Kich_thước];
Ví dụ:
int[] arr = new int[5];
Cách 2:
Kiểu_dữ_liệu[] Tên_mảng;
Tên_mảng = new Kiểu_dữ_liệu[Kich_thước];
Ví dụ:
int[] arr;
arr = new int[5];
Cách 3:
Kiểu_dữ_liệu[] Tên_mảng = new Kiểu_dữ_liệu[Kich_thước]{Giá_tri1, Giá_trị2, ...};
Ví dụ:
int[] arr = new int[5]{1,2,3,4,5};
Cách 4:
Kiểu_dữ_liệu[] Tên_mảng;
Tên_mảng = new Kiểu_dữ_liệu[Kich_thước]{Giá_tri1, Giá_trị2, ...};
Ví dụ:
int[] arr;
arr = new int[5]{1,2,3,4,5};
Cách 5:
Kiểu_dữ_liệu[] Tên_mảng = {Giá_tri1, Giá_trị2, ...};
Ví dụ:
int[] arr = {1,2,3,4,5};
Mảng hai chiều
Cách 1:
Kiểu_dữ_liệu[,] Tên_mảng = new Kiểu_dữ_liệu[Số_hàng, Số_cột];
Ví dụ:
int[,] arr = new int[4,5]; //bốn hàng, 5 cột
Cách 2:
Kiểu_dữ_liệu[,] Tên_mảng;
Tên_mảng = new Kiểu_dữ_liệu[Số_hàng, Số_cột];
Ví dụ:
int[,] arr;
arr = new int[4,5];
Cách 3:
Kiểu_dữ_liệu[,] Tên_mảng = new Kiểu_dữ_liệu[Số_hàng, Số_cột]{{Cặp_giá_trị1}, {Cặp_giá_trị2}, ...};
Ví dụ:
int[,] arr = new int[2,3]{{1,2,3}, {4,5,6}}; //hai hàng, 3 cột
Cách 4:
Kiểu_dữ_liệu[,] Tên_mảng;
Tên_mảng = new Kiểu_dữ_liệu[Số_hàng, Số_cột]{Cặp_giá_trị1}, {Cặp_giá_trị2}, ...};
Ví dụ:
int[,] arr;
arr = new int[2,3]{{1,2,3}, {4,5,6}};
Cách 5:
Kiểu_dữ_liệu[] Tên_mảng = {{Cặp_giá_trị1}, {Cặp_giá_trị2}, ...};
Ví dụ:
int[] arr = {{1,2,3}, {4,5,6}};
Ví dụ áp dụng:
using System; namespace ConsoleApp2 { public class PTB2 { static void Main(String[] args) { int[,] arr = { { 1, 2, 3 }, { 4, 5, 6 } }; for (int i = 0; i < arr.GetLength(0); i++) { for (int j = 0; j < arr.GetLength(1); j++) { Console.WriteLine("arr[{0},{1}] = {2}", i, j, arr[i, j]); } } } } }Mảng răng cưa (Jagged):
Đặc điểm của mảng này là các hàng có thể có số lượng phần tử khác nhau.
Cách 1:
Kiểu_dữ_liệu[][] Tên_mảng = Kiểu_dữ_liệu[Số_hàng][];
Tên_mảng[0] = new Kiểu_dữ_liệu[Kích_thước1]; //hoặc: Tên_mảng[0] = new Kiểu_dữ_liệu[]{Các_giá_trị};
Tên_mảng[1] = new Kiểu_dữ_liệu[Kích_thước2]; //hoặc: Tên_mảng[1] = new Kiểu_dữ_liệu[]{Các_giá_trị};
...
Cách 2:
Kiểu_dữ_liệu[][] Tên_mảng;
Tên_mảng = Kiểu_dữ_liệu[Số_hàng][];
Tên_mảng[0] = new Kiểu_dữ_liệu[Kích_thước1]; //hoặc: Tên_mảng[0] = new Kiểu_dữ_liệu[]{Các_giá_trị0};
Tên_mảng[1] = new Kiểu_dữ_liệu[Kích_thước2]; //hoặc: Tên_mảng[1] = new Kiểu_dữ_liệu[]{Các_giá_trị1};
...
Ví dụ 1:
using System; namespace ConsoleApp2 { public class PTB2 { static void Main(String[] args) { string[][] companies = new string[3][]; companies[0] = new string[] { "Intel", "ADM" }; companies[1] = new string[] { "IBM", "Microsoft", "Sun" }; companies[2] = new string[] { "HP", "Canon", "Lexmark", "Epson" }; for (int i = 0; i < companies.GetLength(0); i++) { Console.Write("List of companies in group " + (i + 1) + ":\t"); for (int j = 0; j < companies[i].GetLength(0); j++) //tương đương: foreach(int j in z[i]) { Console.Write(companies[i][j] + "\t"); //Console.WriteLine(j); } Console.WriteLine(); } } } }Ví dụ 2: Cách nhập liệu và hiển thị mảng răng cưa:
using System; namespace Demo { class Jagged { static void Main(string[] args) { //Tạo tham chiếu mảng răng cưa: string[][] companies; int row; //Nhập số hàng cho mảng răng cưa (0<row<100): do { Console.Write("Moi nhap so hang cho mang rang cua: "); int.TryParse(Console.ReadLine(), out row); } while (!(0<row && row<100)); companies = new string[row][]; int column; //Nhập liệu cho mảng răng cưa: for (int i = 0; i < companies.GetLength(0); i++) { //Nhập số cột cho mảng răng cưa: do { Console.Write("Moi nhap so cot cho hang {0}: ", i); column = int.Parse(Console.ReadLine()); } while (column < 1); companies[i] = new string[column]; //Nhập liệu cho hàng i: Console.WriteLine("Moi nhap lieu cho hang {0}:",i); for (int j = 0; j < companies[i].GetLength(0); j++) { Console.Write("Phan tu thu {0}: ",j+1); companies[i][j] = Console.ReadLine(); } } //Hiển thị dữ liệu cho mảng răng cưa: foreach(string[] s in companies) { foreach(string s1 in s) { Console.WriteLine(s1); } } } } }Lớp Array
Là lớp được được xây dựng sẵn trong namespace System và nó là lớp cơ sở cho tất cả các mảng trong C#.
Các phương thức được xây dựng sẵn trong lớp Array cho phép thực hiện một loạt các tác vụ khác nhau như tạo, tìm kiếm, copy, sắp xếp, ...
Tạo mảng bằng lớp Array:
Array Tên_mảng = Array.CreateInstance(typeof(Kiểu_dữ_liệu), Kích_thước);
Ví dụ:
Array arr = Array.CreateInstance(typeof(int), 5);
Gán giá trị cho phần tử mảng:
Tên_mảng.SetValue(Giá_trị, Chỉ_số);
Ví dụ:
arr.SetValue(10, 0); //gán giá trị 10 cho phần tử có chỉ số 0
Lấy giá trị của phần tử:
Tên_mảng.GetValue(Chỉ_số);
Ví dụ:
arr.GetValue( 0); //lấy giá trị của phần tử có chỉ số 0
Các thuộc tính của lớp Array:
Length: lấy kích thước của mảng.
Rank: lấy số chiều của mảng.
Các phương thức:
• Clear(): Xoá tất cả các phần tử của mảng.
• CopyTo(Tên_mảng, Chỉ_số): Copy các phần tử bắt đầu tử Chỉ_số tới Tên_mảng.
• GetLength(chiều): Trả về kích thước chiều hiện tại của mảng.
• GetLowerBound(chiều): Trả về chỉ số thấp nhất ứng với chiều hiện tại của mảng.
• GetUpperBound(chiều): Trả về chỉ số cao nhất ứng với chiều hiện tại của mảng.
• Sort(): Sắp xếp các phần tử mảng theo chiều tăng
• Reverse(): Đảo ngược các phần tử của mảng.
• ToString(): Trả về chuỗi đại diện cho đối tượng hiện thời.
• ToString().Length: Trả về độ dài của chuỗi.
Lớp ArrayList:
Là một loại mảng động thuộc namespace System.Collections.
Kích thước mảng có thể tăng/giảm tự động trong quá trình thực thi chương trình.
Có thể lưu trữ các phần tử với mọi kiểu dữ liệu.
Chấp nhận cả giá trị null và những giá trị giống nhau.
Phương thức:
• Add(object): thêm một đối tượng vào danh sách
• Remove(object): xoá đối tượng khỏi danh sách.
• RemoveAt(index): xoá đối tượng có chỉ số tượng ứng khỏi danh sách
• Insert(index,object): thêm đối tượng vào danh sách tại vị trí có chỉ số index.
Thuộc tính:
• Count: Đếm số phần tử trong danh sách.
Từ khóa » Gán Giá Trị Cho Mảng C#
-
Mảng (Array) Trong C# | 85 Bài Học Lập Trình C# Hay Nhất
-
Mảng Trong Lập Trình C Sharp
-
Mảng (Array) Trong C# - Hoclaptrinh
-
Mảng (array) Trong C#, Cách Khởi Tạo Và Khai Báo - Thủ Thuật
-
Mảng 1 Chiều Trong C# | How Kteam
-
Mảng (Array) Trong C# - Học Lập Trình C# Online - VietTuts
-
Mảng Trong C# | Comdy
-
Mảng Một Chiều Trong C# - Học Lập Trình Cơ Bản đến Nâng Cao
-
Bài 17.1. Mảng 1 Chiều Trong C# - Khóa Học C# Không Khó 2021
-
Cách Nối Hai Mảng Trong C# Bằng Hai Cách Khác Nhau - Freetuts
-
Từ Khóa Var Trong C# | Think Your Way
-
Tự Học Ngôn Ngữ Lập Trình C# (C Sharp) Từ Cơ Bản đến Nâng Cao
-
Mảng 1 Chiều Trong C# - Quản Trị Máy Tính
-
Mảng (Array) Trong C# – Nguyễn Anh Tuấn