Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Основные отличия типов struct и class, только начал учить 
:(
    Опции темы
MERTVITz
Дата 16.11.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 13.5.2005

Репутация: нет
Всего: нет



Всем привет подскажите ПЛИЗ Основные отличия типов struct и class...Я просто только начал C# изучать
PM MAIL   Вверх
mr.DUDA
Дата 16.11.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



1) struct - это value type (т.е. тип "по значению" как int, string и т.п.), class - это reference type (т.е. ссылочный тип)
2) структуру нельзя унаследовать от класса или другой структуры (можно только от интерфейса)

других отличий, вроде бы, нет.


--------------------
user posted image
PM MAIL WWW   Вверх
Дрон
Дата 16.11.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



mr.DUDA
Цитата(mr @ 16.11.2005, 16:03)
(т.е. тип "по значению" как int, string и т.п.)

Аккуратней, string -- это reference type.
Хороший пример структуры это DateTime.
Добавлено @ 16:09
Цитата(mr @ 16.11.2005, 16:03)
других отличий, вроде бы, нет.

Есть ещё незначительное отличие в конструкторе для структур:
- нельзя явно задать конструктор без параметров;
- конструктор должен обязательно инициализировать все её поля.

Это сообщение отредактировал(а) Дрон - 16.11.2005, 16:11


--------------------
Да. Именно так.
PM   Вверх
mr.DUDA
Дата 16.11.2005, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата
Аккуратней, string -- это reference type.

Пардон... а я всерьёз так думал smile smile smile


--------------------
user posted image
PM MAIL WWW   Вверх
Дрон
Дата 16.11.2005, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



Цитата(mr @ 16.11.2005, 16:37)
Пардон... а я всерьёз так думал smile smile smile

Я сначала тоже так подумал. Он ведь засчёт своей неизменяемости ведёт себя как структура -- при попытке измененить ты получаешь новую копию.

Единственное, что выдаёт string как класс, -- это возможность присвоить null.

Это сообщение отредактировал(а) Дрон - 16.11.2005, 16:39


--------------------
Да. Именно так.
PM   Вверх
MERTVITz
Дата 17.11.2005, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 13.5.2005

Репутация: нет
Всего: нет



Народ пасиба вы мне помогли более мение разобраться с этим бардаком ))
PM MAIL   Вверх
Hidrag
Дата 17.11.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 2
Всего: 25



smile а потом у тя возникнет вопрос зачем создавать интерфейс, если можно создать набор абстрактных методов в классе и использовать этот класс как базовый smile


--------------------
user posted image
PM WWW ICQ   Вверх
Exception
Дата 17.11.2005, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Ы.. и правда зачем?
Извиняюсь.. ведь интерфейсы можно множественно наследовать и т.д.
Торможу:)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.5535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.