2015-04-21 58 views
0

我已經創建了一個KeyValuePair列表來填充內容作爲HttpClient的數據。C#如何創建KeyValuePair的通用列表

List<KeyValuePair<string, string>> keyValues = new List<KeyValuePair<string, string>>(); 

keyValues.Add(new KeyValuePair<string, string>("email", email)); 
keyValues.Add(new KeyValuePair<string, string>("password", password)); 
keyValues.Add(new KeyValuePair<string, string>("plan_id", planId)); 

var content = new FormUrlEncodedContent(keyValues); 

但後來我發現我必須發送一個int值作爲plan_id。如何改變上面的列表來接受KeyValuePair。或者有沒有更好的方法來做到這一點?

+4

最終,HTTP中的所有內容都以ASCII字符串形式發送,爲什麼不直接調用'planId.ToString(CultureInfo.InvariantCulture)'? – Dai

+0

我正在調用外部API。當我發送計劃ID的字符串值時,我收到一個錯誤的請求。但有了一個int值,它就會獲得成功。 – Yasitha

+0

是否可以在java中創建如下所示的通用列表。 List > keyValues = new List >(); – Yasitha

回答

0

如果你想創建一個KeyValuePair列表,你應該創建Dictionary。

Dictionary<string, string> dic = new Dictionary<string,string>(); 
dic.Add("email", email); 
dic.Add("password", password); 
dic.Add("plan_id", planId.ToString()); 
+0

這裏需要創建的是這樣的東西。像Java中的通用ArrayList一樣。 List > keyValues = new List >(); – Yasitha

0

不要使用List<KeyValuePair<string,string>>,而不是Dictionary<string, string>。使用planId.ToString()。

相關問題