我有這樣的字符串工作:字符串字典,然後再返回
Norway, true; Sweden, false; England, null; Denmark, false;
我試圖讓成Dictionary<string, bool?>
,所以我可以使用它,刪除項目,比較反對其他的東西。完成後,我想將字典轉換回類似的字符串並保存。
任何想法?
我有這樣的字符串工作:字符串字典,然後再返回
Norway, true; Sweden, false; England, null; Denmark, false;
我試圖讓成Dictionary<string, bool?>
,所以我可以使用它,刪除項目,比較反對其他的東西。完成後,我想將字典轉換回類似的字符串並保存。
任何想法?
您可以將這種使用方法Split
和LINQ to詞典:
var dict = str.Split(';')
.Select(s => s.Split(','))
.ToDictionary(
p => p[0].Trim()
, p => p[1].Trim().Equals("null") ? null : (bool?)(bool.Parse(p[1].Trim()))
);
轉換回就更簡單了:
var res = string.Join("; ", dict.Select(
p => string.Format(
"{0}, {1}"
, p.Key
, p.Value.HasValue ? p.Value.ToString().ToLowerCase() : "null"
)
));
'; 「null」'應該是':「null」' – xanatos
@xanatos謝謝! – dasblinkenlight
同時在分割字符串值時添加'StringSplitOptions.RemoveEmptyEntries'分割選項,並且'ToLowerCase()'必須爲'ToLower()' –
你碰上一個具體問題?向我們展示一些代碼。 – Artless
您是否在將它獲取到字典或字典時遇到麻煩?他們不是真的是同樣的問題...... – Chris
「有什麼想法嗎?」:是的,很多。我們只希望您儘可能少地嘗試解決問題,並在必要時發佈您遇到的特定問題。 SO不是「請爲我寫代碼」問題的網站。如果您需要更多信息,請諮詢[常見問題]和[問]網頁,以及http://whathaveyoutried.com。 –