我有一個Dictionary
,其中存儲有一些鍵值paire。我的問題是,在我的dictornary我在關鍵名稱的開頭空格,所以訪問值:從字典中刪除空格鍵名
Pair[" Key"];
是否有通過我可以刪除起始空格的任何方法,所以我可以訪問諸如
Pair["Key"]
我有一個Dictionary
,其中存儲有一些鍵值paire。我的問題是,在我的dictornary我在關鍵名稱的開頭空格,所以訪問值:從字典中刪除空格鍵名
Pair[" Key"];
是否有通過我可以刪除起始空格的任何方法,所以我可以訪問諸如
Pair["Key"]
修整你的字符串就夠了。除此之外,您還可以爲自己的字典編寫自定義鍵比較器,而不是在每次向字典中添加或從字典中獲取某些內容時修剪字符串。
Dictionary<string, int> dict = new Dictionary<string, int>(new Comparer());
dict.Add("aa ", 10);
int i = dict[" aa"];
public class Comparer : IEqualityComparer<string>
{
public bool Equals(string x, string y)
{
return x.Trim().Equals(y.Trim());
}
public int GetHashCode(string obj)
{
return obj.Trim().GetHashCode();
}
}
使用值string.Trim方法:如果你有一個string
var key = " Key".Trim();
Pair[key];
,您可以刪除導致與結尾的空白(MSDN)。
如果要修剪在你的字典裏所有的按鍵,你可以這樣做:
dictionary = dictionary.ToDictionary(x => x.Key.Trim(), x => x.Value);
這有失敗的空間,不過,如果你有2個鍵會修剪爲相同的值。例如,使用帶有「key」和「key」鍵的字典是有效的,但如果將它們全部修剪掉,則會得到一個ArgumentException
,因爲您會嘗試添加相同的密鑰兩次(「key」) 。
也可以這樣做:dictionary = dictionary.ToDictionary(x => x.Key.Replace(「」,「」),x => x.Value);擺脫字典鍵中的空白。 – victor 2017-06-26 18:14:23
'string.Trim()'? – 2012-07-14 13:52:45