![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.09.2009
Сообщений: 56
|
![]()
Читаю msdn и возник вопрос.
while a const field is a compile-time constant, the readonly field can be used for runtime constants as in the following example: Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
![]()
в шарпе очень много описанно про стат константы
если в двух словах, то примерно так: есть клас скажем а в нем есть статическая константа b a a1= new a(); a a2 = new a(); a.b=2; то b изменится и для а1 и для а2 В отличии от обычных перменных класса думаю понятно? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.09.2009
Сообщений: 56
|
![]()
Я конечно понимаю, что константа обладает статическими свойствами и чтобы получить к ней доступ или изменить достаточно написать имя класса и поставить имя константы. Но я хотела узнать немного другое. Чем отличается константа времени компилирования (const) и константа времени выполнения программы(readonly). Как понять констаната времени выполнения?? Она же ведь не создается во время выполнения программы?7 Можете навести пример, пожалуйста.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Как понимаю я:
const - устанавливается при компиляции a readonly - в процессе выполнения программы
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 02.09.2009
Сообщений: 56
|
![]() Цитата:
мы ведь пишем поле, например, const string = "Hello", то как компилятор считывает это все?? И как это константа устанавливается во время выполнения программы? Просто я поняла приблизительно так. Например, у нас есть высота и сторона треугольника и есть константа readonly, которая означает площадь треугольника. Если мы этой константе поставим в соответствие формулу, а не какое-то значение, то константа будет устанавливаться во время выполнения программы, после того как будет посчитана формула. Правильно я хоть понимаю?? Просто хочу выучить все, чтобы не просто иметь сухие знания, но еще и использовать их где-то. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Значение const устанавливаем явно в программе:
Код:
Код:
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
Типо заключение к теме.
Поля ReadOnly отличаются от Const по сути одной особенностью. Она заключается в том, что ей можно задать значение в конструкторе класса, где она объявлена. Т.е. можно произвести некий расчет, присвоить значение переменной и использовать как константу. Последний раз редактировалось Hollander; 23.04.2010 в 14:51. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]() Цитата:
![]() а всего лишь переменная, доступная только для чтения ![]() но Вам, Pti44ka, лучше не париться по этому поводу (слишком глубоко придётся лезть в дебри) ![]()
Нет нерешаемых задач - есть недостаток времени и данных!
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Cоздать array of const | freetonik | Общие вопросы Delphi | 5 | 28.11.2009 16:59 |
TextBox(readonly) | Chartvit | Общие вопросы C/C++ | 1 | 21.11.2009 22:36 |
изменение const | zander | Microsoft Office Excel | 1 | 13.05.2009 09:12 |
Квалификатор const | Locode | Общие вопросы C/C++ | 1 | 26.03.2009 19:37 |