• Trang chủ
  • Tin công nghệ
    sublime-text-3

    SublimeText: 10 plugin hổ trợ JavaScript

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 7

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 6

    5 Design Pattern mà developer nên biết

    5 Design Pattern mà developer nên biết

    Live Stream và những điều có thể bạn chưa biết

    Live Stream và những điều có thể bạn chưa biết

    10 ngôn ngữ lập trình được sử dụng nhiều nhất để đóng góp mã nguồn mở

    10 ngôn ngữ lập trình được sử dụng nhiều nhất để đóng góp mã nguồn mở

    Machine Learning góp phần cải thiện chiến lược Digital Marketing của bạn như thế nào?

    Machine Learning góp phần cải thiện chiến lược Digital Marketing của bạn như thế nào?

    7 công nghệ nổi bật phát triển mạnh năm 2018

    7 công nghệ nổi bật phát triển mạnh năm 2018

    Bitcoin đã được khai thác 80% tổng lượng

    Bitcoin đã được khai thác 80% tổng lượng

  • Lập trình Android
  • Java & Java EE
  • Thiết kế web
    Hướng dẫn thêm nút chia sẻ ZALO cho website

    Hướng dẫn thêm nút chia sẻ ZALO cho website

    sublime-text-3

    SublimeText: 10 plugin hổ trợ JavaScript

    sublime-text-3

    Sublime Text 3 và các plugin cần thiết cho lập trình Laravel

    Top xu hướng thiết kế web cho năm 2017

    Top xu hướng thiết kế web cho năm 2017

    Tạo Layout đơn giản với DIV và CSS

    Tạo Layout đơn giản với DIV và CSS

    Tạo ứng dụng Swing bằng Netbean

    Backlink là gì? Cách tạo backlink?

    Tạo ứng dụng Swing bằng Netbean

    Giới thiệu về HTML5 và CSS3

  • Lập trình C#
    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Tag Helpers trong ASP.NET Core MVC

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 7

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 6

    Hướng dẫn sử dụng Crystal Report với Visual Studio

    Hướng dẫn sử dụng Crystal Report với Visual Studio

    7 thủ thuật Windows Group Policy trong Windows 10

    7 thủ thuật Windows Group Policy trong Windows 10

    5 cách để học lập trình nhanh hơn

    Ví dụ minh họa Client-Server trong C#

    Remotting

    Remotting

    Debug chương trình với VS.NET

    Debug chương trình với VS.NET

    Tạo Form có hình dạng bất kỳ trong C#

    Tạo Form có hình dạng bất kỳ trong C#

  • Lập trình PHP
    php-mysql

    Sử dụng mệnh đề WHERE của câu lệnh SELECT trong PHP và MySQL

    php-mysql

    Sử dụng câu lệnh SELECT trong PHP và MySQL

    php-mysql

    Lấy giá trị của cột tự tăng của record vừa được thêm mới

    php-mysql

    MySQL prepared statements trong PHP

    php-mysql

    Sử dụng INSERT trong MySQL & PHP

    php-mysql

    Tạo cơ sở dữ liệu và bảng trong MySQL bằng PHP

    sublime-text-3

    Sublime Text 3 và các plugin cần thiết cho lập trình Laravel

    WordPress-Cách chia bài viết dài thành nhiều trang

    WordPress-Làm nổi bật comment của tác giả bài viết

No Result
View All Result
Học Lập Trình
  • Trang chủ
  • Tin công nghệ
    sublime-text-3

    SublimeText: 10 plugin hổ trợ JavaScript

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 7

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 6

    5 Design Pattern mà developer nên biết

    5 Design Pattern mà developer nên biết

    Live Stream và những điều có thể bạn chưa biết

    Live Stream và những điều có thể bạn chưa biết

    10 ngôn ngữ lập trình được sử dụng nhiều nhất để đóng góp mã nguồn mở

    10 ngôn ngữ lập trình được sử dụng nhiều nhất để đóng góp mã nguồn mở

    Machine Learning góp phần cải thiện chiến lược Digital Marketing của bạn như thế nào?

    Machine Learning góp phần cải thiện chiến lược Digital Marketing của bạn như thế nào?

    7 công nghệ nổi bật phát triển mạnh năm 2018

    7 công nghệ nổi bật phát triển mạnh năm 2018

    Bitcoin đã được khai thác 80% tổng lượng

    Bitcoin đã được khai thác 80% tổng lượng

  • Lập trình Android
  • Java & Java EE
  • Thiết kế web
    Hướng dẫn thêm nút chia sẻ ZALO cho website

    Hướng dẫn thêm nút chia sẻ ZALO cho website

    sublime-text-3

    SublimeText: 10 plugin hổ trợ JavaScript

    sublime-text-3

    Sublime Text 3 và các plugin cần thiết cho lập trình Laravel

    Top xu hướng thiết kế web cho năm 2017

    Top xu hướng thiết kế web cho năm 2017

    Tạo Layout đơn giản với DIV và CSS

    Tạo Layout đơn giản với DIV và CSS

    Tạo ứng dụng Swing bằng Netbean

    Backlink là gì? Cách tạo backlink?

    Tạo ứng dụng Swing bằng Netbean

    Giới thiệu về HTML5 và CSS3

  • Lập trình C#
    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Tag Helpers trong ASP.NET Core MVC

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 7

    Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

    Những tính năng mới trong C# 6

    Hướng dẫn sử dụng Crystal Report với Visual Studio

    Hướng dẫn sử dụng Crystal Report với Visual Studio

    7 thủ thuật Windows Group Policy trong Windows 10

    7 thủ thuật Windows Group Policy trong Windows 10

    5 cách để học lập trình nhanh hơn

    Ví dụ minh họa Client-Server trong C#

    Remotting

    Remotting

    Debug chương trình với VS.NET

    Debug chương trình với VS.NET

    Tạo Form có hình dạng bất kỳ trong C#

    Tạo Form có hình dạng bất kỳ trong C#

  • Lập trình PHP
    php-mysql

    Sử dụng mệnh đề WHERE của câu lệnh SELECT trong PHP và MySQL

    php-mysql

    Sử dụng câu lệnh SELECT trong PHP và MySQL

    php-mysql

    Lấy giá trị của cột tự tăng của record vừa được thêm mới

    php-mysql

    MySQL prepared statements trong PHP

    php-mysql

    Sử dụng INSERT trong MySQL & PHP

    php-mysql

    Tạo cơ sở dữ liệu và bảng trong MySQL bằng PHP

    sublime-text-3

    Sublime Text 3 và các plugin cần thiết cho lập trình Laravel

    WordPress-Cách chia bài viết dài thành nhiều trang

    WordPress-Làm nổi bật comment của tác giả bài viết

No Result
View All Result
Học Lập Trình
No Result
View All Result

Mảng một chiều trong C#

qadmin by qadmin
16/09/2013
in Lập trình C#
0 0
0
5 cách để học lập trình nhanh hơn
0
SHARES
765
VIEWS
Share on FacebookShare on Twitter

Giới thiệu

Mảng là một tập hợp có thứ tự của những đối tượng, tất cả các đối tượng này cùng một kiểu. Mảng trong ngôn ngữ C# có một vài sự khác biệt so với mảng trong ngôn ngữ C++ và một số ngôn ngữ khác, bởi vì chúng là những đối tượng. Do đó, trong mảng sẽ có các phương thức và thuộc tính.
Ngôn ngữ C# cung cấp cú pháp chuẩn cho việc khai báo đối tượng Array. Tuy nhiên, đối tượng thật sự được tạo ra sẽ có kiểu System.Array. Mảng trong ngôn ngữ C# kết hợp cú pháp khai báo mảng theo kiểu ngôn ngữ C truyền thống và kết hợp với khai báo đối tượng của lớp do đó biến mảng có thể truy cập những phương thức và thuộc tính của System.Array.
Một số các thuộc tính và phương thức của lớp System.Array:

Thành viên Mô tả
BinarySearch() Phương thức static tìm kiếm trên mảng một chiều đã sắp thứ tự.
Clear() Phương thức static thiết lập các phần tử của mảng về 0 hay null.
Copy() Phương thức static đã nạp chồng (overload) thực hiện sao chép một vùng của mảng vào mảng khác.
CreateInstance() Phương thức static đã nạp chồng (overload) tạo một thể hiện (instance) mới cho mảng
IndexOf() Phương thức static trả về vị trí đầu tiên của phần tử trong mảng một chiều
LastIndexOf() Phương thức static trả về vị trí cuối cùng của phần tử trong mảng một chiều
Reverse() Phương thức static đảo thứ tự của các phần tử trong mảng một chiều
Sort() Phương thức static sắp xếp thứ tự các phần từ trong mảng một chiều
IsFixedSize Thuộc tính kiểu bool cho biết mảng có kích thước cố định hay thay đổi
IsReadOnly Thuộc tính kiểu bool cho biết mảng chỉ cho phép đọc hay đọc/ghi
IsSynchronized Thuộc tính kiểu bool cho biết mảng có hổ trợ an toàn thread (thread-safe)
Length Thuộc tính cho biết mảng có bao nhiêu phần tử
Rank Thuộc tính cho biết số chiều của mảng
SyncRoot Thuộc tính chứa đối tượng dùng để đồng bộ truy cập trong mảng
GetEnumerator() Phương thức thành viên trả về đối tượng IEnumerator dùng để duyệt các phần tử của mảng
GetLength() Phương thức thành viên trả về kích thước của một chiều trong mảng
GetLowerBound() Phương thức thành viên trả về cận dưới của một chiều trong mảng
GetUpperBound() Phương thức thành viên trả về cận trên của một chiều trong mảng
Initialize() Khởi tạo các phần tử trong mảng bằng cách gọi default contructor cho từng phần tử
SetValue() Phương thức thành viên thiết lập giá trị cho một phần tử xác định trong mảng

Khai báo mảng

Cú pháp khai báo mảng trong C#:

Kiểu_dữ_liệu[] tên_mảng;

Cặp đấu ngoặc vuông ([]) báo cho trình biên dịch biết rằng chúng ta đang khai báo một mảng. Kiểu dữ liệu sẽ là kiểu của các phần tử trong mảng.
Ví dụ:

int[] arrayInt;

Để tạo ra thể hiện của mảng trên bộ nhớ, chúng ta dùng toán tử new như sau:

arrayInt = new int[10];

Khai báo này sẽ thiết lập trên bộ nhớ một mảng có 10 phần tử số nguyên.
Vấn đề quan trọng ở đây là cần phải phân biệt được mảng và các phần tử của mảng. Đối tượng arrayInt là một mảng, các phần tử là 10 số nguyên được lưu trữ trong mảng.
Trong C#, mảng thuộc kiểu tham chiếu, được tạo ra trên heap. Do đó, trong ví dụ trên, arrayInt được cấp phát trên heap.

Giá trị mặc định

Khi chúng ta tạo ra một mảng có kiểu giá trị, mỗi phần tử sẽ chứa giá trị mặc định của kiểu. Với khai báo:

arrayInt = new int[10];

sẽ tạo ra một mảng có 10 số nguyên, mỗi phần tử sẽ có giá trị mặc định là 0.
Nếu các phần tử của mảng có kiểu là tham chiếu, các phần tử này sẽ không được khởi tạo giá trị mặc định, mà sẽ được khởi tạo giá trị là null. Nếu chúng ta cố gắng truy xuất các phần tử kiểu tham chiếu của mảng mà chưa được khởi tạo, một biệt lệ (exception) sẽ được tạo và đẩy về cho chúng ta.

Truy cập các phần tử trong mảng

Để truy cập vào phần tử trong mảng ta có thể sử dụng toán tử chỉ mục ([]). Vị trí phần tử bắt đầu của mảng là 0, do đó chỉ số của phần tử đầu tiên của mảng luôn luôn là 0. Như ví dụ trên thành phần đầu tiên là myArray[0].
Như đã trình bày ở trên, mảng là đối tượng, và do đó nó có các thuộc tính. Một trong những thuộc tính hay sử dụng là Length, thuộc tính này sẽ báo cho biết số phần tử trong một mảng. Một mảng có thể được đánh chỉ số từ 0 đến Length –1. Do đó nếu có 10 phần tử trong mảng thì các chỉ số sẽ là:0, 1, 2, …, 9.

Ví dụ dưới đây minh họa sử dụng mảng

using System;

namespace UseArray
{
class Student
{
int stuId;
string name;

public Student()
{
stuId = 0;
name = "";
}

public Student(int stuId, string name)
{
this.stuId = stuId;
this.name = name;
}

public override string ToString()
{
return "[ " + stuId + " - " + name + " ]";
}

public void Input()
{
Console.Write("Input Student Id: ");
stuId = Convert.ToInt32(Console.ReadLine());
Console.Write("Input Student Name: ");
name = Console.ReadLine();
}
}

class Program
{
static void Main(string[] args)
{
int totalStudent = 0;
// Yêu cầu người dùng nhập số Student
Console.Write("Input total Students: ");
totalStudent = Convert.ToInt32(Console.ReadLine());
// Khai báo và khởi tạo mảng Student
Student[] list = new Student[totalStudent];
// duyệt qua các phần tử của mảng, khởi tạo
// từng phần tử và gọi hàm Input() để nhập dữ liệu
for (int i = 0; i < list.Length; i++)
{
list[i] = new Student();
list[i].Input();
}
// in mảng Student đã nhập ra màn hình
for (int i = 0; i < list.Length; i++)
{
Console.WriteLine(list[i]);
}

Console.ReadKey(); // ngừng màn hình để quan sát
}
}
}

Kết quả:
StudentDemo

Khởi tạo các phần tử của mảng

Chúng ta có thể khởi tạo các phần tử của một mảng ngay lúc khai báo mảng bằng cách đặt những giá trị bên trong dấu ngoặc ({}). C# cung cấp hai cú pháp để khởi tạo các thành phần của mảng, một cú pháp dài và một cú pháp ngắn:

int[] arrayInt = new int[5] { 2, 4, 6, 8, 10 };

Và:

int[] arrayInt = { 2, 4, 6, 8, 10 };

Không có sự khác biệt giữa hai cú pháp trên, và hầu hết các chương trình đều sử dụng cú pháp ngắn hơn do sự tự nhiên và lười đánh nhiều lệnh của người lập trình.

Tags: c#codecodingtrainingtutorial
Previous Post

BackgroundWorker trong C#

Next Post

property trong C#

qadmin

qadmin

Related Posts

Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Tag Helpers trong ASP.NET Core MVC

13/12/2020
Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Những tính năng mới trong C# 7

03/12/2020
Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Những tính năng mới trong C# 6

03/12/2020
Hướng dẫn sử dụng Crystal Report với Visual Studio

Hướng dẫn sử dụng Crystal Report với Visual Studio

19/11/2020
7 thủ thuật Windows Group Policy trong Windows 10

7 thủ thuật Windows Group Policy trong Windows 10

15/12/2016
5 cách để học lập trình nhanh hơn

Ví dụ minh họa Client-Server trong C#

05/10/2013
Next Post
5 cách để học lập trình nhanh hơn

property trong C#

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

You might also like

Hướng dẫn thêm nút chia sẻ ZALO cho website

Hướng dẫn thêm nút chia sẻ ZALO cho website

08/07/2021
sublime-text-3

SublimeText: 10 plugin hổ trợ JavaScript

16/01/2021
Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Tag Helpers trong ASP.NET Core MVC

13/12/2020
Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Những tính năng mới trong C# 7

03/12/2020
Hướng dẫn sử dụng Layout trong Android và thiết kế giao diện hổ trợ nhiều loại màn hình

Những tính năng mới trong C# 6

03/12/2020
php-mysql

Sử dụng mệnh đề WHERE của câu lệnh SELECT trong PHP và MySQL

13/11/2020
Học Lập Trình

Code5s.com được xây dựng với mong muốn mang lại những bài học hữu ích, thiết thực, và chất lượng cho mọi người.

Chuyên mục

Công cụ Java & Java EE Lập trình Android Lập trình C# Lập trình PHP Thiết kế web Tin công nghệ Tips Tài liệu Wearable Web Services XML

Kết nối

  • Trang chủ
  • Tin công nghệ
  • Lập trình Android
  • Java & Java EE
  • Thiết kế web
  • Lập trình C#
  • Lập trình PHP

© 2020 Code5s.com

No Result
View All Result
  • Trang chủ
  • Tin công nghệ
  • Lập trình Android
  • Java & Java EE
  • Thiết kế web
  • Lập trình C#
  • Lập trình PHP

© 2020 Code5s.com

Welcome Back!

Login to your account below

Forgotten Password?

Create New Account!

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In