string HexFromID(int ID)
{
return ID.ToString("X");
}
int IDFromHex(string HexID)
{
return int.Parse(HexID, System.Globalization.NumberStyles.HexNumber);
}
Tôi thực sự đặt câu hỏi về giá trị của điều này. Bạn đang nói mục tiêu là làm cho giá trị ngắn hơn, nó sẽ làm gì, nhưng đó không phải là một mục tiêu trong chính nó. Bạn thực sự có nghĩa là làm cho nó dễ dàng hơn để ghi nhớ hoặc dễ dàng hơn để gõ.
Nếu bạn có nghĩa là dễ nhớ hơn, thì bạn đang lùi lại một bước. Chúng tôi biết nó vẫn có cùng kích thước, chỉ được mã hóa khác nhau. Nhưng người dùng của bạn sẽ không biết rằng các chữ cái bị giới hạn ở 'A-F', và vì vậy ID sẽ chiếm cùng một không gian khái niệm cho chúng như thể chữ cái 'A-Z' được cho phép. Vì vậy, thay vì giống như ghi nhớ một số điện thoại, nó giống như ghi nhớ một GUID (có chiều dài tương đương).
Nếu bạn muốn nhập, thay vì có thể sử dụng bàn phím, người dùng hiện phải sử dụng phần chính của bàn phím. Nó có thể khó khăn hơn để gõ, bởi vì nó sẽ không phải là một từ ngón tay của họ nhận ra.
Một tùy chọn tốt hơn là thực sự cho phép họ chọn tên người dùng thực.
Nguồn
2009-07-16 20:06:54
FYI, bạn sẽ xúc phạm người dùng bàn phím số. –
Bạn có một điểm tốt. Nhưng chúng tôi đang cố gắng chuyển đổi số nguyên ID thành thứ gì đó chiếm ít ký tự hơn. Cảm ơn vì sự thấu hiểu tho. – codette
@codette Lưu số bằng số sẽ chiếm ít dung lượng nhất trong khi vẫn đọc được. Ví dụ, 4 byte cho số lên đến 2bln (số nguyên). Hoặc nếu quá dài đối với bất kỳ loại số nào, hãy sử dụng trường nhị phân. – Luc