Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

IS và AS trong C#

13:10 03-06-2017 4.044 lượt xem 4 bình luận 03:37 08-11-2017

Em đọc về 2 cái mà không biết nó cụ thể chức năng làm gì , mọi người có thể nói chung về chức năng của 2 từ lệnh đó giùm e với ạ :)  E cảm ơn 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Bích Bích đã bình luận 19:04 03-06-2017

Ví dụ bạn có 1 danh sách i thuộc lớp Nguoi, lớp NhanvVien và SinhVien kế thừa lớp người, 

Từ khóa "is" (là) sẽ giúp mình kiểm tra Nguoi thứ i có phải là NhanVien hay SinhVien hay không?

 Nếu là NhanVien hay là SinhVien thì từ khóa "as" (như) thì sẽ ép kiểu thành NhanVien(SinhVien) để có thấy sử dụng nó như NhanVien(SinhVien)

Tóm lại:

"is" dùng để so sánh đối tượng đó có cùng loại.

"as" dùng để ép kiểu đối tượng

Mình chỉ mới học C# cơ bản với OOP(C#), nên chỉ nói trong phạm vi mình biết, sai thì mong các bạn nhiệt tình nén đá :D

            if(i is NhanVien)
                {
                    NhanVien nv = i as NhanVien;
                    Console.WriteLine("==>Nhân viên " + nv.Ten);
                }
                else if(i is SinhVien)
                {
                    SinhVien sv = i as SinhVien;
                    Console.WriteLine("==>Sinh viên " + sv.TenSV);
                }

 

Hoàng đã bình luận 03:37 08-11-2017

đang vướng cái này :))

Câu hỏi mới nhất