Tôi đang sử dụng danh sách để lưu trữ một cặp giá trị thập lục phân (ví dụ: trong danh sách AD38F2D8, được hiển thị dưới dạng: Giá trị_A: AD 38 F2 D8).Từ điển C# hoặc chỉ tiếp tục sử dụng danh sách?
Câu hỏi của tôi là tôi nên sử dụng Dictionary<string, string>
hoặc tôi nên sử dụng Dictionary<string, NewCustomObject>
để lưu trữ chuỗi thập lục phân dưới dạng một chuỗi. (Giá trị: [AD, 38, F2, D8]) thay vì (Giá trị: AD38F2D8).
Nó có thể sẽ không tạo ra nhiều sự khác biệt giữa hai.
Với Dictionary<string, string>
Tôi sẽ chỉ lưu trữ từng chuỗi hex trong từ điển và sau đó chia chúng thành các cặp tương ứng khi tôi cần chúng. nếu tôi sử dụng số Dictionary<string, NewCustomObject>
, tôi sẽ kết thúc trước tiên tách các chuỗi hex trong các cặp tương ứng của chúng và sau đó lưu trữ chúng trong từ điển.
Câu hỏi của tôi là tôi nên sử dụng? Hoặc tôi chỉ nên tiếp tục sử dụng danh sách?
Không hoàn toàn cần thiết để tôi sử dụng Dictionary<string, string>
vì tôi vẫn biết chuỗi chỉ mục nào đang ở trên, chỉ là nó sẽ đẹp hơn.
Danh sách Ví dụ:
Index = 0, Value = 3D95FF08
Index = 1, Value = 8D932A08
Dictionary<string, string>
dụ:
Index = 0, Key = First, Value = 3D95FF08
Index = 1, Key = Second, Value = 8D932A08
Dictionary<string, NewCustomObject>
dụ:
Index = 0, Key = First, Value = 3D, 95, FF, 08
Index = 1, Key = Second, Value = 8D, 93, 2A, 08
LƯU Ý: giá trị Index trong mỗi ví dụ điển chỉ là để hiển thị các corespondence để những người khác, tôi biết một từ điển không có giá trị chỉ mục bu t sử dụng các phím thay thế. nó chỉ làm cho nó dễ dàng hơn để xem xét ví dụ này.
Tôi đã xem chuỗi Từ điển cuối cùng tại đây: C# Dictionary with two Values per Key? Tôi đã tìm kiếm nó như tôi đã sử dụng theo cách đó nhiều lần trong khi viết mã python. bằng cách lưu trữ danh sách các chuỗi trong từ điển.
Cảm ơn bạn đã giúp đỡ!
EDIT
Mỗi chuỗi trong cả hai danh sách hoặc từ điển, sẽ được phân chia theo byte tương ứng của họ. EG.
BYTE 0 1 2 3 to 6 .....
HEX AD 12 01 0000859D .....
Byte 0 sẽ giữ Index Byte 1 sẽ giữ tham chiếu Byte 2 Flags Byte 3-6: Các Memb_Number_ID
Do đó, nếu tôi chia chúng lên trước khi có thể đưa những trong từ điển Tôi không phải làm điều đó trước khi tôi sử dụng chúng ở vị trí tương ứng của họ vì tôi sẽ phải chia chúng ra để tính toán chỉ số, tham chiếu và cờ.
Cơ sở dữ liệu đã được gửi cho tôi theo định dạng này, tôi buộc phải làm việc với nó theo cách hiện tại, vì vậy tôi không thể thay đổi nó. và chỉ có thể điều chỉnh mã của tôi cho nó.
ví dụ trên sẽ được xuất ra như:
Index Reference Link Flags Memb_Number_ID
173 18 +A John (ID: 34205)
Tại sao bạn nghĩ về việc chuyển sang từ điển? Mã không có danh sách có hoạt động không? –
Nếu bạn cho chúng tôi biết bạn định sử dụng bộ sưu tập như thế nào, ai đó sẽ cung cấp mẫu mã cùng với đề xuất. Hiện tại, bạn chỉ nói với chúng tôi những gì bạn đang lưu trữ, không phải cách bạn dự định truy cập sau này. –
Mã với các danh sách đang hoạt động tốt, tôi chỉ đang tìm cách làm cho nó dễ dàng hơn để làm việc. mỗi giá trị hệ thập lục phân được lưu trữ trong cơ sở dữ liệu dưới dạng 1 chuỗi, nhưng như đã giải thích ở trên mỗi bộ ký tự trong chuỗi đó có ý nghĩa riêng của chúng, do đó đặt nó vào một từ điển với các cặp chia tách có thể làm mọi việc dễ dàng hơn. – Raskaroth