該文本的含義是語言中的所有類型「表現得像對象一樣」。一樣容易,你可以做到這一點
int i = 42;
Console.WriteLine(i.ToString()); // called a method on an int
:例如,你可以這樣做
DateTime d = DateTime.Now;
Console.WriteLine(d.ToString()); // called a method on a DateTime
也就是說,如果你不知道該類型的i
和d
你就不能通過閱讀調用.ToString()
的代碼來推斷任何事情。
對比這與像C++語言:
std::string s = "hello";
std::cout << s.length();
int i = 42;
// ...but you cannot invoke any method on i; "ints are special"
這裏的事實是s.length()
編譯告訴我們,s
不是int
,或指針,或任何其他基本類型。
從技術的角度來看,這種一致性並不會給你帶來任何益處,但它仍然是一個受歡迎的功能 - 尤其是如果你只是在學習語言。
來源
2013-06-28 23:10:14
Jon
第二章不是類型基礎知識......實際上,沒有一章叫做類型基礎知識。頁碼?此外,這類問題不適用於SO。 –
@newStackExchangeInstance:第2章中有一個* section *,名爲「Type Basics」,(實際上是p15)。從描述中推斷並不難。 – Jon
@Jon編輯它不是。它用來說章。 –