Mảng và Danh sách: So sánh cách sử dụng trong C#

Mang Va Danh Sach So Sanh Cach Su Dung Trong C



Mảng trong C# là một tập hợp các mục có kiểu dữ liệu giống hệt nhau và kích thước cụ thể được xác định. Nó đại diện cho một đoạn bộ nhớ liền kề nơi các phần tử được lưu. Bằng cách sử dụng chỉ mục của chúng, các mảng trong C# cung cấp khả năng truy cập tùy ý nhanh chóng và dễ dàng cho các thành viên của chúng. Danh sách là cấu trúc dữ liệu động trong ngôn ngữ lập trình C# đại diện cho một nhóm các thành phần được gõ giống hệt nhau. Không giống như mảng, danh sách có thể tăng hoặc giảm kích thước một cách linh hoạt, điều này cho phép thêm, xóa và sửa đổi các phần tử một cách hiệu quả. Cả những điểm tương đồng và khác biệt giữa mảng C# và danh sách C# đều được đề cập trong bài viết này.

Tuyên ngôn:

Mảng được khai báo bằng cách sử dụng “type[] ArrayName;” cú pháp trong đó loại biểu thị loại thành viên trong bộ sưu tập mảng và “ArrName” là tiêu đề được gán cho mảng. Khai báo một mảng được biểu thị bằng dấu ngoặc vuông [].

kiểu [ ] Tên mảng = kiểu mới [ ] ;

Danh sách được khai báo bằng cách sử dụng “List LsName;” cú pháp trong đó kiểu đại diện cho kiểu dữ liệu của các thành phần trong danh sách và “LsName” là tên được đặt cho danh sách. Dấu ngoặc nhọn chỉ ra rằng đó là một khai báo kiểu chung.





Danh sách < kiểu > danh sách tên = danh sách mới < kiểu > ( ) ;

Khởi tạo:

Mảng sử dụng dấu ngoặc nhọn {} để bao bọc các giá trị, trong khi danh sách sử dụng hàm tạo List mới, theo sau là dấu ngoặc nhọn {} để bao bọc các giá trị.



kiểu [ ] Tên mảng = { v1 , v2 , v3 , ... } ;

Danh sách < kiểu > danh sách tên = danh sách mới < kiểu > { v1 , v2 , v3 , ... } ;

Thêm giá trị:

Điều quan trọng cần nhớ là mảng C# có kích thước cụ thể. Nếu cần có kích thước khác, thì cần tạo một mảng mới “newArr” với kích thước mong muốn (độ dài hiện tại + số giá trị mới). Thêm mảng ban đầu “OrgArr” vào mảng mới và gán các giá trị mới cho các vị trí mới trong mảng mới và cập nhật tham chiếu đến mảng mới.



Mảng. Sao chép ( Tổ chức , mớiArr , Tổ chức Chiều dài ) ;

mớiArr [ Tổ chức Chiều dài ] = 14 ; // giá trị mới

mớiArr [ Tổ chức Chiều dài + 1 ] = 2 ; // giá trị mới

Tổ chức = mớiArr ; // Cập nhật tham chiếu int[] NewArr = new int[OrgArr.Length + 2];

Danh sách cung cấp sự linh hoạt về mặt quản lý kích thước. Khi một danh sách được khởi tạo, nó sẽ bắt đầu với dung lượng ban đầu nhưng nó có thể tự động mở rộng khi có nhiều phần tử được thêm vào. Khả năng thay đổi kích thước động này cho phép danh sách thích ứng với các yêu cầu thay đổi. Danh sách C# cung cấp hàm Add() để thêm các giá trị vào danh sách. Đây là cách bạn có thể thêm giá trị vào danh sách C#:





Mảng vs Danh sách : So sánh cách sử dụng trong C #

Truy cập các giá trị

Các giá trị trong số mảng được truy cập bằng ký hiệu chỉ mục [], tức là sử dụng số chỉ mục trong ngoặc và được lưu vào một biến khác.

phần tử loại = Tên mảng [ mục lục ] ;

Để truy cập các giá trị trong danh sách C#, bạn cũng có thể sử dụng ký hiệu chỉ mục [] cùng với vị trí chỉ mục mong muốn tương tự như mảng.



phần tử loại = Danh sách tên [ mục lục ] ;

Loại bỏ các giá trị

Mảng có độ dài cố định. Do đó, để loại bỏ các phần tử, một mảng mới phải được tạo với kích thước nhỏ hơn và các phần tử hiện có phải được sao chép. Điều này có thể được thực hiện bằng cách sử dụng hàm Array.Copy() như được giải thích trong phần “Thêm giá trị”. Trong danh sách C#, việc xóa các giá trị đơn giản và trực quan hơn nhiều. Lớp List cung cấp phương thức “remove” cho phép bạn xóa một giá trị cụ thể khỏi danh sách.

danh sách tên. Di dời ( yếu tố ) ;

Đếm các giá trị

Để đếm các giá trị trong mảng C#, bạn có thể sử dụng thuộc tính độ dài của mảng. Thuộc tính length cung cấp cho bạn tổng số giá trị trong mảng.

int đếm = mảngName. Chiều dài ;

Để đếm các giá trị trong danh sách C#, bạn có thể sử dụng tính năng “đếm” của danh sách. Tổng số phần tử hiện có trong danh sách cũng được trả về bởi thuộc tính “count”.

int đếm = danh sách tên. Đếm ;

Lặp lại các giá trị

Để lặp lại các giá trị trong mảng C#, bạn có thể sử dụng vòng lặp “for” với độ dài của mảng làm điều kiện vòng lặp.

( int Tôi = 0 ; Tôi < Tên mảng. Chiều dài ; Tôi ++ ) {

loại e = tên mảng [ Tôi ] ;

Bảng điều khiển. Viết dòng ( Nó là ) ;

}

Để lặp lại các giá trị trong danh sách C#, bạn có thể sử dụng vòng lặp “foreach” vì nó đơn giản hóa quá trình lặp bằng cách tự động lặp qua các phần tử.

cho mỗi ( gõ e vào listName ) {

Bảng điều khiển. Viết dòng ( Nó là ) ;

}

Ví dụ 1: Mảng C#

Đoạn mã đã cho khai báo và khởi tạo một mảng số nguyên có tên “Arr” với độ dài 5 và gán các giá trị cho các phần tử của nó. Các giá trị được gán cho các phần tử mảng là 11, 12, 13, 14 và 15. Sau đó, mã sẽ tiến hành hiển thị các phần tử của mảng bằng vòng lặp “for”. Mọi thành phần được hiển thị trên một dòng riêng biệt bằng phương thức Console.WriteLine().

Sau khi hiển thị các phần tử ban đầu, mã sẽ sửa đổi phần tử ở chỉ mục 2 bằng cách gán cho nó giá trị mới là 10. Tiếp theo, mã hiển thị mảng đã sửa đổi bằng cách lặp lại các phần tử bằng vòng lặp “for”. Cuối cùng, mã hiển thị tổng số giá trị nằm trong mảng bằng cách sử dụng thuộc tính “Arr.Length” để tạo ra độ dài của mảng.

sử dụng hệ thống ;

lớp giả {

tĩnh trống rỗng Chủ yếu ( ) {

int [ ] Arr = mới int [ 5 ] { mười một , 12 , 13 , 14 , mười lăm } ;

Bảng điều khiển. Viết dòng ( 'Yếu tố:' ) ;

( int Tôi = 0 ; Tôi < Arr. Chiều dài ; Tôi ++ )

{

Bảng điều khiển. Viết dòng ( Arr [ Tôi ] ) ;

}

Arr [ 2 ] = 10 ;

Bảng điều khiển. Viết dòng ( 'Mảng đã sửa đổi:' ) ;

( int Tôi = 0 ; Tôi < Arr. Chiều dài ; Tôi ++ )

{

Bảng điều khiển. Viết dòng ( Arr [ Tôi ] ) ;

}

Bảng điều khiển. Viết dòng ( 'Số phần tử:' + Arr. Chiều dài ) ;

}

}

Ví dụ 2: Danh sách C#

Mã được cung cấp sau đây minh họa cách sử dụng danh sách C# để lưu trữ và thao tác với một tập hợp các số nguyên. Đầu tiên, mã khởi tạo một danh sách có tên “Arr” với năm số nguyên: 11, 12, 13, 14 và 15. Điều này đạt được bằng cách sử dụng lớp List và hàm tạo của nó cùng với cú pháp khởi tạo.

Tiếp theo, chương trình in thông báo “Elements:” và tiến hành lặp lại từng phần tử trong danh sách bằng vòng lặp “foreach”. Trong mỗi lần lặp, phần tử hiện tại được in ra bàn điều khiển bằng phương thức Console.WriteLine().

Sau đó, mã sửa đổi giá trị ở chỉ mục 2 của danh sách bằng cách gán cho nó giá trị 10 (Arr[2] = 10). Dòng này thay đổi phần tử thứ ba trong danh sách từ 13 thành 10. Sau khi sửa đổi, chương trình lại in thông báo “Danh sách đã sửa đổi:” và lặp lại danh sách đã cập nhật, in từng phần tử ra bảng điều khiển. Sau đó, mã sẽ hiển thị số lượng giá trị trong danh sách bằng cách sử dụng “Arr.Count”. Thuộc tính này trả về số lượng mục có trong danh sách, trong trường hợp sau đây là 5.

Cuối cùng, mã sẽ xóa phần tử có giá trị 4 khỏi danh sách bằng phương thức Arr.Remove(4). Phương pháp này tìm kiếm giá trị được chỉ định trong danh sách và loại bỏ lần xuất hiện đầu tiên của nó. Cuối cùng, chương trình in thông báo “Danh sách sau khi xóa:” và lặp lại danh sách một lần nữa, hiển thị từng phần tử còn lại sau thao tác xóa.

sử dụng hệ thống ;

sử dụng Hệ thống. Bộ sưu tập . Chung ;

lớp giả {

tĩnh trống rỗng Chủ yếu ( ) {

Danh sách < int > Arr = danh sách mới < int > ( ) { mười một , 12 , 13 , 14 , mười lăm } ;

Bảng điều khiển. Viết dòng ( 'Yếu tố:' ) ;

cho mỗi ( int n ở Arr )

{

Bảng điều khiển. Viết dòng ( N ) ;

}

Arr [ 2 ] = 10 ;

Bảng điều khiển. Viết dòng ( 'Danh sách đã sửa đổi:' ) ;

cho mỗi ( int n ở Arr )

{

Bảng điều khiển. Viết dòng ( N ) ;

}

Bảng điều khiển. Viết dòng ( 'Số phần tử:' + Arr. Đếm ) ;

Arr. Di dời ( 4 ) ;

Bảng điều khiển. Viết dòng ( 'Danh sách sau khi xóa:' ) ;

cho mỗi ( int n ở Arr )

{

Bảng điều khiển. Viết dòng ( N ) ;

}

}

}

Phần kết luận

Hướng dẫn này trình bày những khác biệt về cú pháp cơ bản giữa mảng C# và danh sách C#. Các mảng có độ dài cố định và được truy cập theo chỉ mục, trong khi các danh sách có kích thước động và cung cấp các phương thức bổ sung để thêm và xóa các phần tử. Cùng với đó, chúng tôi đã cung cấp các chương trình danh sách C# hiển thị việc khai báo, khởi tạo, truy cập, sửa đổi, đếm và thêm các phần tử.