Hỏi đáp

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

C# - Sự khác nhau giữa ToString, "as string" và (string)variable ?

14:49 26-06-2017 1.459 lượt xem 1 bình luận 15:50 26-06-2017

Mình thấy C# có rất nhiều kiểu ép kiểu. VD:

(string)a
a as string
a.ToString()

Cho mình hỏi ngu là tại sao cần nhiều kiểu thế?

Với lại hình như một vài trường hợp dùng kiểu này mà không dùng kiểu kia được nhỉ? Thank anh em :)

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
DG SuperAdmin, Author, KquizAdmin, KquizAuthor đã bình luận 15:50 26-06-2017

Có một sự khác biệt. Mỗi đối tượng đều có thể sử dụng ToString(), nhưng không phải mọi đối tượng đều có thể ép vào một chuỗi.

object o1 = "somestring";
object o2 = 1;

string s = o1 as string; // returns "somestring"
string s = o2 as string; // returns null

string s = (string)o1; // returns "somestring"
string s = (string)o2; // Runtime error

string s = o1.ToString(); // returns "somestring"
string s = o2.ToString(); // returns "1"

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