Boxing And Unboxing


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Top posters
Sakura (1124)
 
hotboy (705)
 
Già Làng (373)
 
con_ca_nho90 (289)
 
that_true (154)
 
theanhkkt (143)
 
phamay (137)
 
lovelonelyman (134)
 
o0ovioletstaro0o (128)
 
stevenhung (122)
 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share | 
 

 Boxing And Unboxing

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Sakura


avatar

Thú CƯng :
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 28
Đến từ : Bình Dương
Ngề nghiệp : IT Student

Bài gửiTiêu đề: Boxing And Unboxing   9/10/2010, 18:56

Hôm bữa học buổi đầu tiên, thầy có nói đến 2 khái niệm này, nhưng nhanh quá, nên nhiều bạn không hỉu!
Nay mình soạn bài này, mong là các bạn có thể hỉu thêm:
Boxing: đơn giản là đưa giá trị của các KDL cơ bản vào các đối tượng, việc này được thực hiện một cách ngầm định.
Code:
using System;

class Test
{
    public static void Main()
    {
        int i = 100;
        object a = i;
        Console.WriteLine("Gia Tri Cua a = {0}", a);
    }
}

Và ngược lại, Unboxing là hành động đưa giá trị của các đối tượng vào các KDL cơ bản! Tuy nhiên, việc này phải được thực hiện một cách tường minh và phải chắc chắn rằng đối tượng đã Boxing vào đúng KDL mong muốn.

Chúng ta không thể thực hiện việc này 1 cách ngầm định như dưới đây được:
Code:
using System;

class Test
{
    public static void Main()
    {
        object a = 100;
        int i = a;
        Console.WriteLine("Gia Tri Cua i = {0}", i);
    }
}

Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)
Nghĩa là ko thể chuyển kiểu ngầm định từ kiểu object sang int được, cần có 1 sự chuyển kiểu tường minh rõ ràng.
Và chúng ta sẽ phải làm như thế này:
Code:
using System;

class Test
{
    public static void Main()
    {
        object a = 100;
        int i = (int)a;
        Console.WriteLine("Gia Tri Cua i = {0}", i);
    }
}

Và như vậy chắc chắn là ko hợp lệ
Code:
using System;

class Test
{
    public static void Main()
    {
        object a = "121212";
        int i = (int)a;
        Console.WriteLine("Gia Tri Cua i = {0}", i);
    }
}

Vì chúng ta đã chuyển kiểu 1 cách không hợp lệ, và chương trình sẽ có lỗi.


Mình nói sơ sơ vậy thôi, chắc cũng ko quá khó he!

_________________________________________________
Khách viếng thăm muốn liên hệ với mình thì xem thông tin phía dưới nha:
Email: [You must be registered and logged in to see this link.]
Nick Yahoo: Edward_Thien
Về Đầu Trang Go down
Xem lý lịch thành viên
 

Boxing And Unboxing

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: HỌC KỲ V :: Nhập môn .Net-