string HexFromID(int ID)
{
return ID.ToString("X");
}
int IDFromHex(string HexID)
{
return int.Parse(HexID, System.Globalization.NumberStyles.HexNumber);
}
Я действительно подвергаю сомнению ценность этого, все же. Вы заявили, что цель состоит в том, чтобы сделать ценность короче, что она и сделает, но это не самоцель. Вы действительно имеете в виду либо облегчить запоминание, либо набрать текст.
Если вы имеете в виду, что легче запомнить, то вы делаете шаг назад. Мы знаем, что это все тот же размер, просто закодированный по-разному. Но ваши пользователи не будут знать, что буквы ограничены «A-F», и поэтому идентификатор будет занимать для них такое же концептуальное пространство, как если бы буквы «A-Z» были разрешены. Поэтому вместо того, чтобы запоминать номер телефона, это больше похоже на запоминание GUID (эквивалентной длины).
Если вы имеете в виду набор текста, вместо того, чтобы использовать клавиатуру, пользователь теперь должен использовать основную часть клавиатуры. Скорее всего, его будет сложнее напечатать, потому что это не будет словом, которое распознают их пальцы.
Гораздо лучший вариант - позволить им выбрать настоящее имя пользователя.