Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Аналог C++-ых символьных констант


Автор: Therion 22.5.2008, 17:17
Как в C# записать 
Код

const UINT32 kCounterKey = 'COUN';
?

Заранне благодарен.

Автор: DareDevil225 22.5.2008, 17:37
Позвольте спросить - а на каком компиляторе такая запись проходит?
UINT32 - это то же самый int smile 
у меня на VS2005 и VS2008 не работает(((

Автор: Therion 22.5.2008, 17:44
VS2003 использую. UINT32 там как unsigned int.

Автор: DareDevil225 22.5.2008, 17:57
Разобрался)
На шарпе можешь так записать
Код

const System.UInt32 kCounterKey = 1129272654;

Автор: QryStaL 22.5.2008, 17:58
Код

const uint kCounterKey = 1;

Автор: Therion 23.5.2008, 09:47
Конечно я могу так записать, но это функция из разарбатываемой либы и клиенты, которые пишут на C# должны иметь возможность записать именно буквами 'COUN'. Так как дальше используется C++ код то число на С# должно соответсвовать аналогичному на C++.

Автор: DareDevil225 23.5.2008, 10:18
Я написал число, которое соответствует 'COUN', его можно использовать но именно в таком виде как в C++ в C# не пройдет, поскольку всегда проверяется строгое соответствие типов

Добавлено через 3 минуты и 17 секунд
Или же сделать так:
Код

const System.UInt32 COUN = 1129272654;

а далее использовать COUN
или я чего-то не понимаю?

Автор: Therion 23.5.2008, 10:24
Как насчет функции GetHashCode() по абсолютной величине, а то число всегда возвращается отрицательное? Будет ли число всегда уникальным и одинаковым для одинаковых данных?

Добавлено через 3 минуты и 16 секунд
Но нужно иметь возможность возврата из хеша к строке :(. В C++ либе строковые константы применяются как ключи в функциях SetUserData/GetUserData.

Автор: Therion 26.5.2008, 11:27
Спасибо всем. Вопрос решился в разделе C++.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)