因此,从下面的代码中可以看出,我有一个名为Matches的列表对象,我希望从HomeTeam和AwayTeam中获得一个不同团队的列表。我正在尝试使用LINQ,如果我只使用HomeTeam参数或AwayTeam参数但不能同时使用它们,我可以获得不同团队的列表。
谢谢。
IElementView<Warrior>
我正在尝试做类似的事情:
result = Matches.Select(HomeTeam,AwayTeam).Distinct()。ToList();
答案 0 :(得分:0)
冒着像家庭作业闻起来的风险,而不是代码。获得您的主队,联盟您的客队并对结果应用Distinct。
答案 1 :(得分:0)
所以我终于想出了这个解决方案。
请注意,现在我不仅要获得团队,还要获得团队所属的国家/地区。
public class Team
{
public string Name { get; set; }
public string Country { get; set; }
}
所以Union真的在这里工作,但从现在起我需要把它作为一个匿名类型...这里是代码:
List<Team> teams = new List<Team>();
var result = Matches.Select(x => new { Name = x.HomeTeam, Country = x.Country }).Union(Matches.Select(x => new { Name = x.AwayTeam, Country = x.Country })).ToList();
foreach (var record in result)
{
teams.Add(new Team { Name = record.Name, Country = record.Country });
}
return teams;
我更喜欢这种方式:
List<Team> teamsResult = Matches.Select(x => new Team { Name = x.HomeTeam, Country = x.Country }).Union(Matches.Select(x => new Team { Name = x.AwayTeam, Country = x.Country })).ToList();
但是这种方式会有重复,所以我现在要坚持使用第一个例子。
你认为这是更优雅的方式吗?
谢谢。
答案 2 :(得分:0)
你可以利用GroupBy,就像这样:
if (/(.)\1{2,}/.test(str.replace('...',''))) {