2010-11-11 29 views

Trả lời

19

Có sự khác biệt, vâng. Mọi đối tượng đều có phương thức ToString, nhưng không phải mọi đối tượng đều có thể truyền thành chuỗi.

int i = 10; 
string s1 = i.ToString(); // OK 
string s2 = (string)i; // Compile error. 

object o = 10; 
string s3 = o.ToString(); // OK 
string s4 = (string)o; // Runtime error. 
10

ToString() tăng ngoại lệ khi đối tượng là null, (string) chuyển đổi không.

0

Có cả hai đều rất khác nhau.

string anObjectString = (string)anObject; là một loại đúc hoặc chuyển đổi loại sẽ chỉ thành công nếu việc chuyển đổi loại là một hợp lệ một

ToString() là một phương pháp có sẵn cho tất cả các đối tượng (s) trong khung. Nó là một phương thức ảo, nơi thực thi mặc định trả về cho bạn tên Type của đối tượng.

Chúng tôi đang so sánh táo để cam ở đây ..

0

Vâng, ToString() là một phương pháp mà tất cả các loại dụng cụ (vì mỗi loại được thừa hưởng từ System.Object mà thực hiện phương pháp này). Một số loại nhất định có thể ghi đè phương pháp này để cung cấp triển khai ghi đè tùy chỉnh của riêng chúng. Một cuộc gọi đến ToString() phải luôn luôn thành công và trả về một cá thể chuỗi (mặc dù nó có thể là vô ích đối với một số triển khai).

var x = new AnyArbitraryObjectType(); 
var y = x.ToString(); // will always succeed (if ToString has not been overridden, or if it has been overridden properly) 

Một diễn viên là chuyển đổi của một đối tượng nhất định tham chiếu đến tham chiếu được nhập dưới dạng chuỗi. Nếu tham chiếu đang được truyền không phải là một chuỗi thì diễn viên sẽ không thành công.

var a = "hello"; 
var b = 5; 

var x = (string)a; // will succeed 
var y = (string)b; // will fail with InvalidCastException 
0

Về cơ bản ToString() là hàm trả về chuỗi đại diện cho đối tượng bạn đã áp dụng.

chuỗi như một loại giống như một int - một nguyên thủy (trong C# một đối tượng của nó)

1

Object.ToString() chuyển đổi các đối tượng vào đối tượng string.If có giá trị null thì nó sẽ ném ngoại lệ vì không null có phương thức ToString().

Trong khi đối tượng (chuỗi) là một quá trình unboxing của loại tham chiếu đến loại giá trị. giá trị đối tượng ở đây là sao chép vào trường hợp mới của loại chuỗi. nếu đối tượng là null, nó sẽ gán giá trị null.

0

Nếu bạn sau khi chuyển đổi an toàn từ đối tượng đến chuỗi chỉ cần sử dụng:

string s = Convert.ToString(o); 
Các vấn đề liên quan