можно ли созжать константу типа Hashtable ?
От: boa67  
Дата: 29.06.07 04:07
Оценка:
можно ли созжать константу типа Hashtable, или любого другоро типизированного массива?
Типа: const DictionaryEntry[] de = .....!
Re: можно ли созжать константу типа Hashtable ?
От: Lelia  
Дата: 29.06.07 04:30
Оценка:
Здравствуйте, boa67, Вы писали:

B>можно ли созжать константу типа Hashtable, или любого другоро типизированного массива?

B>Типа: const DictionaryEntry[] de = .....!

Нет. Константы могут быть только тех типов, которые компиилятор считает элементарными.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: можно ли созжать константу типа Hashtable ?
От: boa67  
Дата: 29.06.07 04:38
Оценка:
L>Нет. Константы могут быть только тех типов, которые компиилятор считает элементарными.

Спасибо!
Re: можно ли созжать константу типа Hashtable ?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 29.06.07 05:30
Оценка:
Здравствуйте, boa67, Вы писали:

B>можно ли созжать константу типа Hashtable, или любого другоро типизированного массива?

B>Типа: const DictionaryEntry[] de = .....!

Можно создать константу любого ссылочного типа, но она обязательно должна быть инициализирована константным выражением null (за исключением констант типа string, которые можно инициализировать как null, так и любым строковым литералом).
Re[2]: можно ли созжать константу типа Hashtable ?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 29.06.07 05:32
Оценка:
Здравствуйте, Lelia, Вы писали:

L>Нет. Константы могут быть только тех типов, которые компиилятор считает элементарными.


Это неверное утверждение. См. Ecma-334, 17.3 Constants

The type specified in a constant declaration shall be sbyte, byte, short, ushort, int, uint, long,
ulong, char, float, double, decimal, bool, string, an enum-type, or a reference-type.

Re: можно ли созжать константу типа Hashtable ?
От: Aen Sidhe Россия Просто блог
Дата: 29.06.07 06:08
Оценка:
Здравствуйте, boa67, Вы писали:

B>можно ли созжать константу типа Hashtable, или любого другоро типизированного массива?

B>Типа: const DictionaryEntry[] de = .....!

а зачем вам константа, определяемая на стадии компиляции?
Если вам нужно, чтобы поле после создания объекта нельзя было изменить — изпользуйте ключевое слово readonly

Поле h в примере ниже можно инициализировать либо по месту, либо в конструкторе. Больше нигде.

public class A
{
  private readonly Hashtable h;
}
С уважением, Анатолий Попов.
ICQ: 995-908
Re[2]: можно ли созжать константу типа Hashtable ?
От: boa67  
Дата: 29.06.07 08:02
Оценка:
Cпасибо всем!

Просто в Delphi такая возможность есть, но не сильно документирована. Вот я и хотел узнать про .NET.
Ну НЕТ, значит НЕТ
Re[2]: можно ли созжать константу типа Hashtable ?
От: MatFiz Россия  
Дата: 29.06.07 11:58
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Поле h в примере ниже можно инициализировать либо по месту, либо в конструкторе. Больше нигде.


AS>
AS>public class A
AS>{
AS>  private readonly Hashtable h;
AS>}
AS>


Зато содержимое этой хэш-таблицы можно менять до самозабвения.

Можно сделать нечто вроде константы так (хотя содержимое словаря все равно можно менять)
public class A
{
    static readonly Dictionary<string, A> _values = new Dictionary<string, A>();

    static A()
    {
        _values["One"] = new A();
        _values["Two"] = new A();
    }
}
How are YOU doin'?
Re[2]: можно ли созжать константу типа Hashtable ?
От: mrozov  
Дата: 29.06.07 13:28
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, boa67, Вы писали:


B>>можно ли созжать константу типа Hashtable, или любого другоро типизированного массива?

B>>Типа: const DictionaryEntry[] de = .....!

N>Можно создать константу любого ссылочного типа, но она обязательно должна быть инициализирована константным выражением null (за исключением констант типа string, которые можно инициализировать как null, так и любым строковым литералом).


вспоминается анекдот про воздушный сад и математика
Re[3]: можно ли созжать константу типа Hashtable ?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 29.06.07 13:47
Оценка:
Здравствуйте, mrozov, Вы писали:

M>вспоминается анекдот про воздушный сад и математика

воздушный шар?
Re[4]: можно ли созжать константу типа Hashtable ?
От: mrozov  
Дата: 29.06.07 14:00
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, mrozov, Вы писали:


M>>вспоминается анекдот про воздушный сад и математика

N>воздушный шар?
да, сорри
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.