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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прошу задать пару вопросов 
:(
    Опции темы
DenWPF
Дата 19.4.2011, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Задайте 10 вопросов мне, мне это нужно для мотивации, что я не чего не знаю)
PM MAIL   Вверх
Artemon
Дата 19.4.2011, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



Вопрос номер 1:

Чем отличается интерфейс от абстрактного класса ?


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
DenWPF
Дата 19.4.2011, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата

Чем отличается интерфейс от абстрактного класса ?


По сути интерфейс, это просто описание методов, которые должны быть описаны в наследнике.
В интерфейсах нельзя объявлять поля, модификаторы доступа не нужны и тоже запрещены.

Абстрактный класс нельзя создать, класс является абстрактным пока в нем есть хотя бы один абстрактный метод.
Абстрактные методы можно переопределять, в наследниках. 


Что то скупо я...

Это сообщение отредактировал(а) DenWPF - 19.4.2011, 13:40
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



DenWPF, что то ты как то вокруг да около...

чем отличается структура от класса?
PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата

чем отличается структура от класса?


Структура это значимый тип, класс ссылочный.
структура и классы, могут в себе содержать, поля, методы, события ...
При передаче структуры, делается её копия и на исходный объект не влияет новый созданный объект, так это два разных объекта. 
В класс все наоборот, два элемента являеются просто разными именами на одну и туже область в памяти.

Структура храниться в стеке, класс в куче.

Классы предназначены для более сложного моделирования, чем структура, структуру нужно использовать для объектов, которые после создания не требуют в извинении. Структурами являются элементарные типы.


з.ы Опять я что то слабенько =((
PM MAIL   Вверх
v00d00
Дата 19.4.2011, 14:57 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не рак ли ты по знаку зодиака?
PM MAIL   Вверх
DenWPF
Дата 19.4.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(v00d00 @ 19.4.2011,  14:57)
Не рак ли ты по знаку зодиака?

нет. 
Если ты пытался меня как то подъе... подколоть... то не вижу смысла.

или ты хочешь сказать что я не правильно отвечаю на поставленные вопросы т.е отвечаю не на вопрос конкретно?
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



простенький вопрос.
сколько "весит" ссылка на экземпляр класса?(в памяти)
а сколько на структуру?
PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(Экскалупатор @ 19.4.2011,  15:00)
простенький вопрос.
сколько "весит" ссылка на экземпляр класса?(в памяти)
а сколько на структуру?

Этот вопрос я знаю, что не знаю. Держал в уме, что нужно узнать.

Но вообще значимые типы весят столько сколько их тип требует.

А ссылка весит вроде 4 байт.
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



Цитата(DenWPF @  19.4.2011,  14:09 Найти цитируемый пост)
Этот вопрос я знаю, что не знаю. Держал в уме, что нужно узнать.

Но вообще значимые типы весят столько сколько их тип требует.

А ссылка весит вроде 4 байт. 

этот вопрос мне на собеседовании одном задавали. ссылка весит 4 байта(32-bit OS) и 8 в 64. ссылки весят одинаково на любой объект, потому что это в ней хранится просто адрес в памяти.

еще одним интересным заданием на собеседовании было подсчитать сколько памяти(приблизительно) будут занимать объекты и нарисовать(схематически) как объекты располагаются в памяти в каком нибудь простеньком коде(естественно код пишут при тебе из головы и код абсолютно дурацкий)
к примеру в таком:
Код

class Program
    {
        static void Main(string[] args)
        {
            int a = 5;
            ClassA c = new ClassA();
            string s = c.Metod1(a);
            a = ClassA.Multiplying(a);
            s = a + c.Metod1(a);
        }
    }
    public class ClassA
    {
        string s = "string";
        string a;
        public static int Multiplying(int a)
        {
            return a * a;
        }
        public string Metod1(int a)
        {
            this.a = a.ToString();
            return s + this.a;
        }
    }

PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Код

class Program
    {
        static void Main(string[] args)
        {
            int a = 5;// 4 байта
            ClassA c = new ClassA();// создается ссылка т.е 4 + вес самого объекта.
            string s = c.Metod1(a);
            a = ClassA.Multiplying(a);
            s = a + c.Metod1(a);
        }
    }
    public class ClassA
    {
        string s = "string"; // 4 + вес самого объекта, я так думаю что количество char.
        string a; // 4 ссылка.
        public static int Multiplying(int a)
        {
            return a * a;
        }
        public string Metod1(int a)
        {
            this.a = a.ToString(); 
            return s + this.a;
        }
    }

аххх сложно...где можно про это все почитать?
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



Цитата(DenWPF @  19.4.2011,  14:51 Найти цитируемый пост)

аххх сложно...где можно про это все почитать? 

да в общем все у того же Рихтера. там где описывается стек, управляемая куча, что происходит когда передается управление в метод и пр.
PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(Экскалупатор @ 19.4.2011,  15:57)
Цитата(DenWPF @  19.4.2011,  14:51 Найти цитируемый пост)

аххх сложно...где можно про это все почитать? 

да в общем все у того же Рихтера. там где описывается стек, управляемая куча, что происходит когда передается управление в метод и пр.

значит не дочитал до туда.

Спасибо, следующее вопросы.

p.s Вот именно такие простые вопросы мне и нужны..
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



домен приложения.
PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(Экскалупатор @ 19.4.2011,  16:10)
домен приложения.

домены приложений используются для изоляции одного приложения от другого.
Это делается для обеспечения безопасности, что бы одна программа не нарушила работу другой, к примеру, удалением одной программы данных другой.

CLR по умолчанию создает отдельный домен для новой программы, но и программист может этим управлять. Может создать новый домен, и исполнять там код, который является не безопасным, или просто для разделения программы.

p.s ну ты каждый раз в точку =) нету у меня сильных сторон=(
PM MAIL   Вверх
Экскалупатор
Дата 19.4.2011, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



ну давай совсем простое.
как сделать член класса доступным только из класса в котором он объявлен и в классах его наследующих?
как сделать класс доступный только в текущей сборке?

Добавлено через 4 минуты и 59 секунд
в догонку, как сделать что бы тип нельзя было наследовать.
PM MAIL ICQ   Вверх
DenWPF
Дата 19.4.2011, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата

как сделать член класса доступным только из класса в котором он объявлен и в классах его наследующих?

protected
Цитата

как сделать класс доступный только в текущей сборке?

internal
Цитата

в догонку, как сделать что бы тип нельзя было наследовать.

Сделать его финальным, вроде sealied
PM MAIL   Вверх
nikitao
Дата 19.4.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

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



Перечисли плюсы и минусы платформы .Net. Когда ее стоит выбрать для разработки , а когда стоит избежать ?


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
wester
Дата 19.4.2011, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



продолжу простые вопросы 
1. Зачем нужен Reflection
2. инкапсуляция и скрытие. Чем отличаются ?
3. различие евента от делегата
4. Все классы в BCL наследуются от object. Какой в этом плюс ?
PM MAIL   Вверх
DenWPF
Дата 19.4.2011, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Код

1. Зачем нужен Reflection

Не чего он нём не знаю, не когда не чего не делал...
Только помню что он имеет доступ к метаданным.

Цитата

2. инкапсуляция и скрытие. Чем отличаются ?

скрытие для меня не известный термин.
Инкапсуляция один из важнейших принципов ООП. Заключается в том что в одном месте (класс, структура) находиться разные элементы, методы, поля события, которые связаны логическим смыслом и являются базой для создания объекта.


Цитата

3. различие евента от делегата

это очень два близких элемента, делегат является ссылкой на функцию, описывает её входные данные, и возможно вызвать функцию через делегат. Используется для передачи в как параметр в другую функцию.
событие... не могу объяснить. 

Цитата

4. Все классы в BCL наследуются от object. Какой в этом плюс ?

Мы можем любой класс привести к типу Object, значит мы можем создать массив объектов. и запихнуть их туда и не волноваться что он сами разного типа.

+ в Object описаны функции которые довольно часто используются и программист их точно не забудет.


p.s wester, Спасибо, я всё больше понимаю что не чего не знаю =(

жду ещё вопросов

PM MAIL   Вверх
Voyager
Дата 19.4.2011, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тоже подключусь. smile
DenWPF, сколько времени ты тратишь на практику, а сколько на теорию?
PM   Вверх
DenWPF
Дата 19.4.2011, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(Voyager @ 19.4.2011,  21:53)
Тоже подключусь. smile
DenWPF, сколько времени ты тратишь на практику, а сколько на теорию?

99% практики =( 
ошибку осознал.
Сейчас почти только теория.

А эти вопросы быстрей что бы действовали стимулом...стыдно блин..
PM MAIL   Вверх
wester
Дата 19.4.2011, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



DenWPF,
вопрос про object был больше с подковыркой - 
просто программистам .net Framework так захотелось. и только. 
Хотя скорее всего это корни ООП. В Qt Классы тоже наследуются QObject

про делегаты.
event просто член класса, не больше не меньше.

ладно, сейчас что нибудь полегче придумаю

1.вопрос про потоки - почему не рекомендуется использоваться такие средства управления потоками как Thread.Start() Thread.Join() 
2. В каких случаях Parallel.For может не обеспечивать распараллевание цикла ?

Это сообщение отредактировал(а) wester - 19.4.2011, 22:58
PM MAIL   Вверх
DenWPF
Дата 19.4.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата

1.вопрос про потоки - почему не рекомендуется использоваться такие средства управления потоками как Thread.Start() Thread.Join() 

Thread.Start() - имеется ввиду объект.Start() ? если имеется ввиду статический метод класса Thread не сталкивался с таким вообще. 
Но предпологаю, что это для главного потока. И пре останавливать главный поток не есть хорошо.

Цитата

2. В каких случаях Parallel.For может не обеспечивать распараллевание цикла ?

реакция после прочтения :чо?

Добавлено через 3 минуты и 19 секунд
Цитата(nikitao @ 19.4.2011,  20:29)
Перечисли плюсы и минусы платформы .Net. Когда ее стоит выбрать для разработки , а когда стоит избежать ?

По большей части только проблемность кросплатформености .net она есть, но с ней очень сложно совладать.

технология .net развивается быстро и часто и имеет много новых технологий в себе. 

единственная причина по которой я выбираю .net она более проста в использовании, и имеет большую базу литературы и мануалов.
PM MAIL   Вверх
A5uKa
Дата 19.4.2011, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



как сделать константный массив (коллекцию)
PM   Вверх
DenWPF
Дата 19.4.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата(A5uKa @ 19.4.2011,  23:21)
как сделать константный массив (коллекцию)

инициализировать при объявлении.
PM MAIL   Вверх
wester
Дата 19.4.2011, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



DenWPF
тогда читай про TPL 

про массив - неправильно! smile 
Код

string[] array = new[]{"a", "b"};
array[0] = "c";

прекрасно компилируемый код!
PM MAIL   Вверх
DenWPF
Дата 19.4.2011, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



wester, та ладно...и с каких пор константу можно изменять?
PM MAIL   Вверх
wester
Дата 20.4.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



wester
а с каких пор инициализированный массив считается неизменяемым ?
я дал фрагмент кода - скомпилируй, посмотри. 
В целом вопрос конечно интересный, как объявить константный массив
PM MAIL   Вверх
Экскалупатор
Дата 20.4.2011, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



wester, он всю жизь считается неизменяемым.

я думаю надо смотреть в корень. что есть массив? это какая то область данных. когда мы объявляем массив, мы получаем адрес этой области данных. дальше нужно исходить из требований, что именно нам нужно, что бы не изменялись данные в массиве или что бы не изменялся сам адрес массива. думаю если сделать массив констант, то данные менять будет нельзя(не уверен что получиться никогда не делал).

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

p.s. я надеюсь тут имелось ввиду не тот факт что массив он сам по себе константен, т.е. его содержимое менять можно, а вот его размер и тип нельзя.

Это сообщение отредактировал(а) Экскалупатор - 20.4.2011, 00:45
PM MAIL ICQ   Вверх
A5uKa
Дата 20.4.2011, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



Цитата(DenWPF @ 19.4.2011,  23:53)
wester, та ладно...и с каких пор константу можно изменять?

Нельзя (невозможно) создать константый массив, только вот эту коллекцию ( синтаксис Nemerle, в C# примерное так же )

Код

public static numToLetter = System.Array.AsReadOnly( array[ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' ] )

PM   Вверх
DenWPF
Дата 20.4.2011, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



A5uKa, то что сказал Экскалупатор...

 да, туплю по полной.
и просто массиву const прописать наверное нельзя, этоже не элементарный тип.
PM MAIL   Вверх
-Mikle-
Дата 20.4.2011, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

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



Вы тут напутали с массивами и константами. Константа - это фиксированное значение. Константный массив, в вашем понимании - это массив констант. Сам массив остается массивом и никогда не будет константой (в любое время полю array можно задать новое значение). Следовательно значения элементов в нем, по-прежнему, можно изменять после инициализации (хоть на константы, хоть на не константы). Вообще константа это такая вещь, которая обрабатывается компилятором. В исполняемом коде, нет и не было понятия ссылка на константу или имя константы. Значения константы, при компиляции, подставляется во все те места, где она использовалась. Более того, компилятор умеет обрабатывать такие вещи как вычисление константных значений на этапе компиляции. Например, "ASD" + "DEF" скомпилируется сразу в "ASDDEF", это вообще самая элементарная вещь из всех, которые делает компилятор. Но надо знать, что при всем этом, объявление константы сохраняется в метаданных класса, а это значит, что ее можно получить через рефлекшн.

Вот простой вопрос по теме:
Чем отличается "static readonly" от "const"?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
A5uKa
Дата 20.4.2011, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

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



Цитата(-Mikle- @ 20.4.2011,  08:28)
Вот простой вопрос по теме:
Чем отличается "static readonly" от "const"?

Дополню вопрос  smile 

чем
public static numToLetter = System.Array.AsReadOnly( array[ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' ] )

отличается от
public static readonly numToLetter = array[ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' ]
PM   Вверх
Fitc
Дата 20.4.2011, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(-Mikle- @ 20.4.2011,  08:28)
Вы тут напутали с массивами и константами. Константа - это фиксированное значение. Константный массив, в вашем понимании - это массив констант. Сам массив остается массивом и никогда не будет константой (в любое время полю array можно задать новое значение). Следовательно значения элементов в нем, по-прежнему, можно изменять после инициализации (хоть на константы, хоть на не константы). Вообще константа это такая вещь, которая обрабатывается компилятором. В исполняемом коде, нет и не было понятия ссылка на константу или имя константы. Значения константы, при компиляции, подставляется во все те места, где она использовалась. Более того, компилятор умеет обрабатывать такие вещи как вычисление константных значений на этапе компиляции. Например, "ASD" + "DEF" скомпилируется сразу в "ASDDEF", это вообще самая элементарная вещь из всех, которые делает компилятор. Но надо знать, что при всем этом, объявление константы сохраняется в метаданных класса, а это значит, что ее можно получить через рефлекшн.

Вот простой вопрос по теме:
Чем отличается "static readonly" от "const"?

Знаю, что поле/свойство readonly можно инициализировать в конструкторе (классе) и значение можно менять через reflection (при желании), что нельзя сделать с константой. Еще (если не путаю) const хранится в стеке приложения,а readonly в куче
PM MAIL   Вверх
DenWPF
Дата 20.4.2011, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Fitc, эй наглец тут вопросы задают мне. отвечать на них можно уже после того как облажался...
PM MAIL   Вверх
Fitc
Дата 20.4.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Сорри smile Но ты все еще можешь дать свой ответ
PM MAIL   Вверх
nikitao
Дата 20.4.2011, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

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



1)В чем отличие
string от System.String
int от System.Int32
и т д

2) Что такое пространства имен и зачем они нужны ?

3) Раскрой смысл акронимов : CIL CLR DLR WPF MSIL WCF WWF LINQ CLS CTS FCL BCL IL GC GAC XAML XML SOAP 

4) Что такое inline инициализация и когда ее не стоит использовать ?

5) Что такое дженерики , для чего они нужны и как они работают ?

6) В чем отличие типа от класса ?

7) Можно ли в .net разместить массив в стеке ?

8) Какие циклы есть в C# ? В чем их различия ? Какой из них "лишний"

9) Что делает ключевое слов yield 

10)  Что появится на экране ?
Код

using System;

namespace ConsoleApplication16
{
    class Program
    {

        static void Inc1(int i)
        {
            i++;
        }

        static void Inc2(ref int i)
        {
            ++i;
        }

        static int Inc3(int i)
        {
            return i++;
        }

        static int Inc4(int i)
        {
            return ++i;
        }

        static int Inc5(ref int i)
        {
            return i++;
        }

        static void Main(string[] args)
        {
            int i = 1;
            Console.WriteLine(i);
            Inc1(i);
            Console.WriteLine(i);
            Inc2(ref i);
            Console.WriteLine(i);
            Inc3(i);
            Console.WriteLine(i);
            i = Inc4(i);
            Console.WriteLine(i);
            i = Inc3(i);
            Console.WriteLine(i);
            i = Inc5(ref i);
            Console.WriteLine(i);

            Console.ReadLine();
        }
    }
}


Добавлено @ 16:31
11 в догонку :
Ключевые слова ref in out params ?

Это сообщение отредактировал(а) nikitao - 20.4.2011, 16:32


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
DenWPF
Дата 21.4.2011, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

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



Цитата

1)В чем отличие
string от System.String
int от System.Int32
и т д

не чем

Цитата

2) Что такое пространства имен и зачем они нужны ?

пространства имен предназначены для логического разделения классов.

Цитата

3) Раскрой смысл акронимов : CIL CLR DLR WPF MSIL WCF WWF LINQ CLS CTS FCL BCL IL GC GAC XAML XML SOAP 

CIL - Промежуточный язык, асемблер машиного кода, создается для CLR.
CLR - исполняющая среда языка CIL.
DLR - не знаю.
MSIL - не знаю отличия от CIL. 
WWF - не знаю.
LINQ - язык запросов. расширяет возможности языка, и в большинстве случаи упрощает жизнь программиста.
CLS и CTS - вроде это спецификации, т.е чему должны придерживаться языки.
FCL - Framework class library
BCL - базовая библиотека.
IL - одно и тоже CIL
GC - сборщик мусора ?!
GAC - не знаю.
XML - язык разметки
XAML - основан на XML используется для технологии WPF.
SOAP - протокол доступа, тоже основан на XML

Цитата

4) Что такое inline инициализация и когда ее не стоит использовать ?

В одной строке задаются несколько параметров. new Classs(){name = "ddd", age = 21}
Когда не стоит использовать не знаю.


Цитата

5) Что такое дженерики , для чего они нужны и как они работают ?

дженерики - не знаю что такое.

Цитата

6) В чем отличие типа от класса ?

Не в чем.

Цитата

7) Можно ли в .net разместить массив в стеке ?

не знаю

Цитата

8) Какие циклы есть в C# ? В чем их различия ? Какой из них "лишний"

Лишний foreach ? 

Цитата

9) Что делает ключевое слов yield 

 smile 

Цитата

10)  Что появится на экране ?

1
1
2
2
3
3
3

Цитата

Ключевые слова ref in out params ?

ref out - одно и тоже только отличия ref должен быть инициализирован перед передачей в функцию.
params - передача не ограниченного количества параметров
in - используется в foreach механизма не знаю =(







ВСЕ СПАСИБО ЗА ВОПРОСЫ, пока что не буду отвечать на новые, как видите учить мне ещё много.

PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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