Hỏi đáp

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

IS và AS trong C#

8 năm trước 3.967 lượt xem 4 bình luận 7 năm trước

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 8 năm trước

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 7 năm trước

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

Bài viết
0
Câu hỏi
2
Bình luận
6