|
С# Средство разработки на платформе .Net |
30.11.2009, 17:59
|
#1
|
Нуждающийся
Регистрация: 24.11.2009
Сообщений: 68
Написано 16 полезных сообщений (для 40 пользователей)
|
Структуры и Классы
Объясните мне дураку чем в корне отличаются структуры от классов и в каких случаях где что уместней
|
(Offline)
|
|
30.11.2009, 18:18
|
#2
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Структуры и Классы
в дотнете структуры это value тип, а классы - reference тип.
грубо говоря структура не может быть null, а класс может. конечно её можно завернуть в Nullable<blabla>. и тогда она от класса точно уже ничем отличаться не будет.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.11.2009, 19:07
|
#3
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Структуры и Классы
Главное отличие - это наследование) структура не может быть наследуемой и не может наследовать другую структуру
|
(Offline)
|
|
30.11.2009, 19:09
|
#4
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: Структуры и Классы
Насколько я знаю структуры отличаются тем как они сохраняются в памяти. Классы в куче, структуры в стеке. И некоторыми свойствами (структуры вроде как не поддерживают наследование). Структуры лучше использовать для небольших данных. Хотя я их вообще никогда не использую
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.11.2009, 19:10
|
#5
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Структуры и Классы
в них(структурах) удобнее хранить масивы данных. это как ячейки в базе даных
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.11.2009, 20:26
|
#6
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Структуры и Классы
Сообщение от DimasSup
в них(структурах) удобнее хранить масивы данных. это как ячейки в базе даных
|
оффтоп: какие ячейки в БД?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.11.2009, 23:26
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Структуры и Классы
Давайте почитаем что пишут в википедии
http://ru.wikipedia.org/wiki/Структу...граммирование)
В XNA структуры используются для математических классов для того, чтобы при вычислениях не происходил частый вызов сборщика мусора, т.к. все ValueType'ы уничтожаются при выходе из области видимости, это как раз и написано на странице википедии, приведенной выше.
|
(Offline)
|
|
01.12.2009, 01:32
|
#8
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Структуры и Классы
если нужно содержать структуру даных (id,name,lastname,phone#) нет смысла создавать класс. проще юзать структуру
|
(Offline)
|
|
01.12.2009, 08:36
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Структуры и Классы
Зачем это делать самому, ведь есть LINQ to SQL. Правда он сделает классы, а не структуры.)
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:44.
|