我有一個客戶端和一個服務器程序,而且我正在使用哈希表來存儲客戶端連接時的名稱和IP地址。我現在需要添加客戶端連接時發送給服務器的另一個變量,但據我瞭解,哈希表只有2列(鍵和值)。有沒有另一種方式可以存儲這些數據而不是使用哈希表?存儲數據集的最佳方式(在一張表中)
1
A
回答
4
您可以將對象粘貼到散列表或字典中。
因此,讓自己成爲一些描述的用戶類,然後將你的用戶對象存儲在他們的名字下的字典中。
這樣就可以將其他屬性作爲當你需要添加它們時使用。
public class User
{
public string Name { get; set; }
public string IPAddress { get; set; }
public string AnotherProperty { get; set;}
}
Dictionary<string, User> userTable = new Dictionary<string, User>();
userTable.Add(userName, new User(){Name = "fred", IPAddress = "127.0.0.1", AnotherProperty = "blah"});
像這樣的事情
1
你可以專門創建一個新的class
用於例如sotring此信息
public class Client
{
private string Name { get; set;}
private string IP { get; set;}
//... etc.
}
而不是使用一個哈希表,只需將Client
類的實例存儲到Session
對象(或任何你使用存儲哈希表)。
如果你需要存儲一個以上的客戶的詳細信息,然後使用List<Client>
或字典,如果您需要使用鍵來查找項目。試着看看對你有用。
0
我不確定這是最好的解決方案,但只是一般的知識,如果你真的需要一個表,你可以使用ADO.NET(它是.NET本地的)的一部分DataTable Class。
這是不可取的原因是它不支持作爲字典的唯一鍵,並且它通常會使場景中的事情複雜化。
相關問題
- 1. iphone-存儲數據的最佳方式
- 2. 存儲數據的最佳方式
- 3. iPad - 存儲數據的最佳方式
- 4. 存儲數據的最佳方式
- 5. 在數據庫中存儲一對多列的最佳方式
- 6. 存儲數據表的最佳方法
- 7. 將數據存儲在MySQL數據庫中的最佳方式
- 8. 在數據集中存儲Delphi集合的最佳方式是什麼?
- 9. 在SQL Server中存儲大型數據集的最佳方法?
- 10. 從.NET中將數據存儲在MySQL中的最佳方式
- 11. 最佳方式爲數據存儲在簡單的數據
- 12. 存儲點列表的最佳方式
- 13. 在Android中存儲用戶數據的最佳方式
- 14. 在hbase中存儲分層數據的最佳方式
- 15. 在Docker中存儲數據的最佳方式是什麼?
- 16. 哪個是在windows phone中存儲數據的最佳方式?
- 17. 在Swift中存儲大數據的最佳方式
- 18. 在python中存儲數據的最佳方式
- 19. 將標籤存儲在數據庫中的最佳方式?
- 20. 在MySQL數據庫中存儲星期幾的最佳方式
- 21. 在Marlogic中存儲XML數據的最佳方式
- 22. 在android中存儲少量數據的最佳方式
- 23. 在數據庫中存儲日期的最佳方式
- 24. 在.NET中本地存儲數據的最佳方式(C#)
- 25. 在mongodb中存儲數據的最佳方式
- 26. 在表格中存儲/檢索數組的最佳方式
- 27. 存儲一些數據的最佳方式Android
- 28. 在mongodb中存儲表格(電子表格)數據的最佳方式
- 29. xml數據存儲的最佳方法
- 30. 存儲2張圖像差異的最佳方式
輝煌的,我有這個工作和輸入的數據,但我怎麼會讀取數據?用戶名部分很簡單,但第二個字段是一個類。我會用什麼語法來提取這些數據? – 2010-10-17 13:46:32
你會施放對象,所以((User)userTable [「Fred」]) – jimplode 2010-10-17 14:58:01
我仍然無法讓它工作。當我只使用字典的名稱時,找不到它,但是當我使用該字典所在的類的名稱(用戶名)之前,第一個「用戶」變爲下劃線,並表示它無法將其轉換爲「字符串」。整個程序在這裏:http://csharp.pastebin.com/0ESB4RYB – 2010-10-17 19:33:40