Пожалуйста, помогите нам урегулировать полемику "Почти". Все это объект (ответ на вопрос о переполнении стека. Как новичок, есть ли что-нибудь, о чем я должен остерегаться, прежде чем изучать С#?). Я думал, что это так, потому что все в Visual Studio по крайней мере выглядит как структура. Пожалуйста, разместите ссылку, чтобы она не стала "современным осламом" (This American Life).
Обратите внимание, что этот вопрос относится к С#, не обязательно .NET, и как он обрабатывает данные под капотом (очевидно, все это 1 и 0).
Вот комментарии к "все есть объект":
- Э, нет, нет. - Двоичный Worrier
- Я хотел бы привести пример... - scotty2012
- - это не все, что базовый тип объекта? - rizzle
- Большинство вещей - объекты... - Омар Kooheji
- Типы значений, ints, double, object ссылки (а не объекты их я) и т.д. не являются объектами. Они могут быть "в коробке", чтобы выглядеть как объекты (например, i.ToString()), но на самом деле они примитивных типов. Измените запись на "НИКОГДА ничто не является объектом" и Я удалю нижний предел - Двоичный Worrier
- Я ценю разъяснение. я подумайте о самом низком уровне, который вы можете взаимодействовать с, скажем, int, в С# как структура, которая не является объектом? - http://msdn.microsoft.com/en-us/library/ms173109.aspx - rizzle
- Не наследует Int32 от ValueType который наследуется от Object? Если так, несмотря на поведение, int является объект. - Крис Фермер
- Нет, тип вложенного типа для int inherits из ValueType, который наследуется от Объект. Они не являются объектами в традиционный смысл, потому что a) int не является ссылкой на int, IT IS int. б) ints не мусор собраны. Если вы объявите Int32, то этот int равен 4 байтам на стек, конец рассказа - Binary Worrier
Определение объекта: "Объект" как наследник класса System.Object и "object" как экземпляр типа vs. "object" как ссылочный тип.