Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu C# Căn Bản Toàn Tập part 9 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (126.32 KB, 3 trang )



An toàn kiểu (Type Safety)
Quá trình chuyểu đổi kiểu (Type Conversions)
Chúng ta thường chuyển đổi dữ liệu từ một kiểu sang kiểu khác thí dụ sau:
byte value1 = 10;
byte value2 = 23;
byte total;
total = value1 + value2;
Console.WriteLine(total);
Implicit Conversions
Chúng ta sẽ không có vấn đề gì khi thực hiện đoạn mã sau:
byte value1 = 10;
byte value2 = 23;
long total; // đoạn sau sẽ biên dịch tốt
total = value1 + value2;
Console.WriteLine(total);
Bảng sau hiển thị cách chuyển đổi kiểu implicit được hỗ trợ trong C#.
From To
sbyte short, int, long, float, double, decimal
byte short, ushort, int, uint, long, ulong, float, double, decimal
short int, long, float, double, decimal
ushort int, uint, long, ulong, float, double, decimal
int long, float, double, decimal
uint long, ulong, float, double, decimal
long, ulong float, double, decimal
float double
char ushort, int, uint, long, ulong, float, double, decimal
Explicit Conversions

int to short – Có thể mất dữ liệu



int to uint –Có thể mất dữ liệu

uint to int –Có thể mất dữ liệu

float to int – Sẽ mất hết tất cả đằng sau dấu chấm thập phân

Any numeric type to char – Dữ liệu sẽ mất

decimal to any numeric type – Chỉ phần thập phân bên trong cấu trúc khác so với
kiểu integers và floating-point numbers
long val = 30000;
int i = (int)val; // Giá trị hợp lệ. The maximum int is 2147483647
long val = 3000000000;
int i = (int)val; // Giá trị không hợp lệ. The maximum int is 2147483647
Boxing and Unboxing
Boxing là từ dùng để chỉ quá trình chuyển đổi từ một kiểu giá trị sangkiểu tham khảo và
tương tự Unboxing thì ngược lại. Điều này rất hữu dụng trong C#.
ví dụ sau đây sử dụng Boxing:
using System;
class BoxingDemo
{
public static void Main()
{
int i = 100;
object o = i ;
Console.WriteLine(" The object value = {0}" , i);
}
}
Trên đây giá trị i kiểu int được chuyển thành một o kiểu object.


Đoạn code sau sử dụng Unboxing , o thuộc kiểu đối tượng object được chuyể
n thành j
kiểu int.
int i = 20;
object o = i; // Box the int
int j = (int)o; // Unbox it back into an int
ví dụ sau dùng Boxing và Unboxing
long a = 333333423;
object b = (object)a;
int c = (int)b;



×