我有一個NameValueCollection
對象,我需要將它轉換爲Hashtable
對象,最好在一行代碼中。我怎樣才能做到這一點?如何將NameValueCollection轉換爲Hashtable
11
A
回答
19
您應該考慮使用通用的Dictionary
,因爲它是強類型的,而Hashtable
則不是。試試這個:
NameValueCollection col = new NameValueCollection();
col.Add("red", "rouge");
col.Add("green", "verde");
col.Add("blue", "azul");
var dict = col.AllKeys
.ToDictionary(k => k, k => col[k]);
編輯:基於您的評論,得到一個哈希表,你可以仍然使用上述方法,並添加更多的線。你總是可以在一行中完成這項工作,但是2行更具可讀性。
Hashtable hashTable = new Hashtable(dict);
或者,使用循環將是pre-.NET 3.5做法:
Hashtable hashTable = new Hashtable();
foreach (string key in col)
{
hashTable.Add(key, col[key]);
}
1
它需要一個以上的線,但它是體面簡單
NameValueCollection nv = new NameValueCollection();
Hashtable hashTable = new Hashtable();
nv.Add("test", "test");
foreach (string key in nv.Keys)
{
hashTable.Add(key, nv[key]);
}
它編譯和執行如預期。
相關問題
- 1. 如何將字符串[]轉換爲NameValueCollection?
- 2. 將DataRowCollection轉換爲NameValueCollection
- 3. 將HttpCookieCollection轉換爲NameValueCollection
- 4. 將jsondata轉換爲NameValueCollection
- 5. 將對象轉換爲NameValueCollection
- 6. 將Hashtable轉換爲System.Version
- 7. 將WebHeaderCollection轉換爲.Net Core中的NameValueCollection
- 8. 將NameValueCollection轉換爲動態對象
- 9. 如何將NameValueCollection轉換爲字節數組
- 10. 如何將NameValueCollection轉換爲JSON字符串?
- 11. 將Hashtable轉換爲對象列表
- 12. 將HashTable轉換爲C#中的字典#
- 13. 將F#映射轉換爲Hashtable
- 14. 如何在PowerShell中將HashTable正確轉換爲JSON?
- 15. 如何將Java Hashtable轉換爲NSDictionary(obj-C)?
- 16. 如何在C#中將Dictionary <>轉換爲Hashtable?
- 17. 如何將列表<object>轉換爲C#中的Hashtable?
- 18. 的ConfigurationSection不會轉換爲NameValueCollection中
- 19. 如何匿名類型的實例轉換爲NameValueCollection中
- 20. Automapper - 將NameValueCollection轉換爲強類型集合
- 21. 將字節數組轉換爲字典或NameValueCollection?
- 22. Java-如何將名稱存儲到Vector中,然後將它們轉換爲HashTable
- 23. 將Hashtable轉換爲xml字符串並返回HashTable而不使用.NET Serializer
- 24. 如何將樣式文本轉換爲C#對象,例如class/hashTable/collection?
- 25. 原地轉換Hashtable值
- 26. 在Powershell中轉換Hashtable
- 27. VB.NET:將Hashtable轉換爲具有通用值類型的字典
- 28. 如何將錢轉換爲
- 29. 查詢字符串轉換爲URL編碼使用的NameValueCollection
- 30. 正在使用c#lambda有效性將NameValueCollection轉換爲查詢字符串?
問題是,我正在使用一個API,期望一個'Hashtable'所以使用'Dictionary'不是一個選項... – MarioVW 2011-04-08 20:54:26
@MarioVW在這種情況下看到我的更新。 – 2011-04-08 20:58:21
這裏有一個問題。 NameValueCollection允許重複鍵。在這種情況下,所有值都插入到HashTable中的同一個鍵。每個唯一密鑰只有一個條目。例如如果您有兩次針對「rouge」和「verde」值列出的「紅色」鍵,則這兩個值將作爲單個鍵與散列鍵「red」一起列出。 – Priyank 2011-04-08 21:08:29