Toán tử hỗn hợp trong C#



Dưới đây là một số toán tử hỗn hợp quan trọng gồm sizeof, typeof? : được hỗ trợ bởi ngôn ngữ C#.

Toán tử Miêu tả Ví dụ
sizeof() Trả về kích cỡ của một kiểu dữ liệu sizeof(int), trả về 4
typeof() Trả về kiểu của một lớp typeof(StreamReader);
& Trả về địa chỉ của một biến &a; trả về địa chỉ thực sự của biến
* Trỏ tới một biến *a; tạo con trỏ với tên là a tới một biến
? : Biểu thức điều kiện (Conditional Expression) Nếu Condition là true ? Thì giá trị X : Nếu không thì Y
is Xác định đối tượng là một kiểu cụ thể hay không If( Ford is Car) // Kiểm tra nếu Ford là một đối tượng của lớp Car
as Ép kiểu mà không tạo một exception nếu việc ép kiểu thất bại Object obj = new StringReader("Hello");

StringReader r = obj as StringReader;

Ví dụ

Dưới đây là ví dụ minh họa các toán tử hỗn hợp có sẵn trong C#:

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Toan tu hon hop trong C#");
            Console.WriteLine("-----------------------");            /* vi du toan tu sizeof */
            Console.WriteLine("Kich co cua kieu du lieu int la {0}", sizeof(int));
            Console.WriteLine("Kich co cua kieu du lieu short la {0}", sizeof(short));
            Console.WriteLine("Kich co cua kieu du lieu double la {0}", sizeof(double));            /* vi du toan tu dieu kien (hay con goi la toan tu tam ngoi) */
            int a, b;
            a = 10;
            b = (a == 1) ? 20 : 30;
            Console.WriteLine("Gia tri cua b la {0}", b);            b = (a == 10) ? 20 : 30;
            Console.WriteLine("Gia tri cua b la {0}", b);
            Console.ReadLine();            Console.ReadKey();
        }
    }
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

Toán tử hỗn hợp trong C#
toan_tu_trong_csharp.jsp