字典中的string.Trim()

时间:2014-12-05 12:48:23

标签: c# dictionary trim

如何修剪字典的键和值?

var Dictionary = new Dictionary<string, string>();
Dictionary.Add("String1 ", " String");
Dictionary.Add(" String2 ", " String ");
Dictionary.Add("  String3  ", " String   ");

foreach (var KeyValuePair in Dictionary)
{
    KeyValuePair.Key.Trim();
    KeyValuePair.Value.Trim();
}

似乎没有任何影响。

2 个答案:

答案 0 :(得分:7)

Trim会返回一个新的string,您需要将其分配回来。但是你在迭代时不能改变字典。相反,你可以创建一个带有修剪键和值的新字典:

var newDictionary = Dictionary.ToDictionary(x => x.Key.Trim(), x => x.Value.Trim());

答案 1 :(得分:-3)

字符串是不可变的,对它们的操作永远不会改变字符串值。

你想做这样的事情:

  var trimmedKey = KeyValuePair.Key.Trim();

除此之外,您还需要删除该项并重新添加。

foreach (var kvp in dict)
{
  dict.Remove(kvp.Key)
  dict.Add(kvp.Key.Trim(), kvp.Value.Trim());
}