TOC

This article is currently in the process of being translated into Vietnamese (~98% done).

The Basics:

Variables

Một biến có thể được xem là một căn phòng chứa, nó là thứ tối thiết cho một lập trình viên. Trong C#, 1 biến được khai báo như sau:

<data type> <name>;

Ví dụ như sau:

string name;

Đây là ví dụ cơ bản nhất, nhưng biến này chưa có giá trị. Bạn có thể gán giá trị cho biến ở cuối hoặc cùng lúc khi khai báo, theo như:

<data type> <name> = <value>;

Nếu biến này không phải là biến cục bộ dùng trong phương thức mà bạn đang sử dụng (ví dụ: 1 biến thành viên của 1 lớp), bạn có thể qui định biến đó được công khai hay riêng tư:

<visibility> <data type> <name> = <value>;

Ví dụ hoàn chỉnh:

private string name = "John Doe";

Phần được hiển thị có quan hệ tới các lớp, vì vậy em có thể tìm thấy nhiều phần giải thích hoàn chỉnh hơn trong chương này tập trung vào lớp. Hãy chú ý với biến trong ví dụ được cho vì chúng ta có thể sử dụng cả hai lần:

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    string firstName = "John";
    string lastName = "Doe";

    Console.WriteLine("Name: " + firstName + " " + lastName);

    Console.WriteLine("Please enter a new first name:");
    firstName = Console.ReadLine();

    Console.WriteLine("New name: " + firstName + " " + lastName);

    Console.ReadLine();
}
    }
}

Tuyệt nhỉ, nhiều phần đã được giải thích, nên chúng ta sẽ đi thẳng đến phần thú vị nhé. Đầu tiên, chúng ta khai báo vài biến kiểu string. String đơn giản là bao gồm kí tự, như bạn thấy, chúng ta truyền thẳng giá trị cho các biến đó. Tiếp theo, xuất ra dòng kí tự ra màn hình hiển thị, nơi ta sử dụng hai biến trên. Chuỗi tạo thành bởi kí tự + để "chứa" các phần tử khác nhau.

Kế tiếp, chúng ta hỏi người dùng nhập vào tên họ, và sau gọi phương thức ReadLine() để truyền thông tin nhập từ bàn phím và điền vào biến tên họ. Tại thời điểm người dùng nhấn Enter thì giá trị đã được gán vào biến. Chúng ta đã sử dụng thành công biến đầu tiên với tính chất quan trọng bậc nhất của nó: khả năng thay đổi giá trị của biến tại thời điểm thực thi.

Một khả dụ thú vị nữa kết hợp toán học. Giới thiệu với bạn, cơ bản tương tự như code chúng ta vừa lập trình:

int number1, number2;

Console.WriteLine("Please enter a number:");
number1 = int.Parse(Console.ReadLine());

Console.WriteLine("Thank you. One more:");
number2 = int.Parse(Console.ReadLine());

Console.WriteLine("Adding the two numbers: " + (number1 + number2));

Console.ReadLine();

Đặt phần code này vào thủ tục Main và chạy. Phần hay ho ở đây chúng ta sử dụng chút "mẹo", goi là phương thức int.Parse(). Chức năng là đọc kiểu dữ liệu chuỗi và chuyển thành dạng số nguyên. Đọc code ta thấy rằng ứng dụng này không ảnh hưởng đến việc nhắc nhở thiện chí với người nhập liệu, và cả khi bạn nhập một thứ không phải số, lỗi nhập sai sẽ được hiển thị. Chi tiết ở những phần sau.

Variables & scope

Tạm thời, chúng ta chỉ sử dụng đến những biến cục bộ, các biến này đã được định nghĩa và sử dụng cùng kiểu phương thức. Trong môi trường C#, biến được định nghĩa trong một phương thức không thể sử dụng ngoài phương thức đó- nguồn gốc của cách gọi này. Nếu bạn chỉ thường xuyên tiếp cận những ngôn ngữ lập trình khác, ở C# không hỗ trợ các biến toàn cục. Thay vào đó, bạn có thể định dạng trường trên cấu trúc lớp, từ đó có thể tiếp cận với các phương thức của lớp đó. Chúng ta sẽ có ví dụ chính xác sau đây:

using System;

namespace VariableScope
{
    class Program
    {
private static string helloClass = "Hello, class!";

static void Main(string[] args)
{
    string helloLocal = "Hello, local!";
    Console.WriteLine(helloLocal);
    Console.WriteLine(Program.helloClass);
    DoStuff();
}

static void DoStuff()
{
    Console.WriteLine("A message from DoStuff: " + Program.helloClass);
}
    }
}

Đối với biến helloClass ,khai báo trên phạm vi lớp thay vì bên trong một phương thức -điều đó cho phép chúng ta truy cập nó từ hàm Main() cũng như là hàm DoStuff() của chúng ta . Điều đó lại không đúng với biến helloLocal , nó được khai báo bên trong hàm Main() và do đó chỉ có thể được sử dụng bên trong hàm cụ thể này

Ý tưởng phân biệt giữa hai loại biến đã đượcc khai báo có tên gọi là scoping(Phạm vi)và nó ngăn chặn code của bạn khỏi một mớ hỗ độn lớn của các biến đem đến mà nó có thể thay đổi từ rất nhiều nơi .Một kỹ thuật khác giúp đỡ chúng ta được gọi là visibility(khả năng nhìn thấy ) của thành viên ( trong trường hợp minh họa này với từ khóa ẩn danh , điều mà chúng ta sẽ đề cập ở trong chương về classes(lớp)

Tóm tắt

Biến cho phép ta lưu trữ các loại dữ liệu , ví dụ như văn bản strings, number(số ) hoặc đối tượng tùy chọn .Các biến cục bộ , có thể truy cập bên trong phương thức mà nó đã được định nghĩa , và sau đó ta có trường class(lớp) , có thể được truy cập từ tất cả hàm của class (lớp) và thậm chí là bên ngoài của class(lớp) , nếu Chức năng visibility cấp quyền cho nó


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!