2

大家好,我有 2 个 MatchCollection:

MatchCollection users_ids = Regex.Matches(result, @"url"":""(.*?)""");
MatchCollection users_names = Regex.Matches(result, @"fullname"":""(.*?)""");

2 个集合的数学数相等

我需要将所有匹配项加入 1 个列表。像这样:

                foreach (Match match in users_ids)
                {
                   string id = match.Groups[1].Value.ToString();
                  // string name = users_names(every match) .Groups[1].Value.ToString();
                   online_list.Add(id + "|" + name);
                }

有什么解决办法吗?=\

4

1 回答 1

4

这看起来像是 的完美应用Zip,它经过两次枚举,获取每个枚举当前索引处的项目并使用给定函数将它们映射到结果中:

var matches = users_ids.Cast<Match>()
    .Zip(users_names.Cast<Match>(),
    (id, name) => id.Groups[1].Value + "|" + name.Groups[1].Value);
于 2013-01-21T21:40:57.697 回答