| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > char and hashcode |
| Автор: Legolas 27.1.2011, 15:55 |
| Добрый день! решил написать простенькую прогу - вводится несколько символов, далее я считываю их хешкоды. вопрос: как восстановить из хешкода символ обратно? |
| Автор: jonie 27.1.2011, 16:40 |
| Legolas, легально - никак. На то это и есть ХЕШ. Можно сравнивать хеш полученный от симола с каким-то эталонным (например c.GetHashCode() == 'A'.GetHashCode() ).... |
| Автор: Kaerus 27.1.2011, 16:44 |
| Табличку создай (char | hash) для всех используемых чаров. |
| Автор: jonie 27.1.2011, 16:54 |
| Kaerus, 2^16 * 4 байт забивать в памяти.. ну можно,да.... |
| Автор: Kaerus 27.1.2011, 17:22 |
| Ну что за бред, ты попробуй с клавиатуры ввести все символы utf-8. А для всех популярных символов, табличку можно сгенерировать кодом из 20 строк |
| Автор: jonie 27.1.2011, 18:32 | ||
Условное программирование это антипаттерн... |
| Автор: Kaerus 27.1.2011, 19:18 |
Это в любом случае лучше, чем для каждого чарта десятки тысяч раз считать хеш код. На самом деле не так уж много памяти получается < 300 кбайт. Зато расчет будет мгновенный. А на шаблонах лучше не зацикливаться, Джошуа Кериевски подтверждает. |
| Автор: jonie 27.1.2011, 23:11 |
| Kaerus, можно найти компромис в виде сортировки по наиболее испольуемым + все остальные. Как показывает практика то чего не ожидаешь прочти всегда получаешь 8( |