摆脱字典中的空白

时间:2013-02-13 12:13:48

标签: c# idictionary

我有一本字典

Dictionary<string, List<string>> dictGenSubs = new Dictionary<string, List<string>>();

如何确保字典的任何记录中都没有空格?

2 个答案:

答案 0 :(得分:2)

我假设您只谈论列表中的字符串。

要实现这一目标,您可以使用以下代码:

dictGenSubs = dictGenSubs.ToDictionary(
                  x => x.Key,
                  x => x.Value
                        .Select(x => x.Replace(" ", string.Empty))
                        .ToList());

这将创建一个新字典,其中包含新列表作为字典的值。每个列表中的每个字符串都会在添加到新列表之前进行调整。

更有效的方法是更新现有字典和现有列表:

foreach(var list in dictGenSubs.Values)
{
    for(int i = 0; i < list.Count; ++i)
        list[i] = list[i].Replace(" ", string.Empty);
}

答案 1 :(得分:0)

你的意思是在每个值的任何字符串中都有空格吗?使用LINQ,这是一种简洁低效的方式:

bool hasWhitespace = dictGenSubs.SelectMany(kv => kv.Value)
       .Any(s => s.Any(char.IsWhiteSpace));