我很难解释这个,但我希望一些代码可以帮助:
var softChannels = channels.ByPath("/software/").Children.Where(c => c.StateProperties.IsActive);
var tmpGames = new List<MyCms.Content.Games.Game>();
// Get games only from active game channels
foreach (var channel in channels.ByPath("/gameslivecasinodirectcom/game-channels/").Children.Where(c => c.StateProperties.IsActive))
{
// QUESTION IS ABOUT THIS LINE
tmpGames.AddRange(oGames.AllActive.Where(g => g.StateProperties.Channels.Contains(channel.Guid) && g.GamingProperties.Software.Contains(softChannels)));
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是,如果g.GamingProperties.Software包含一个SoftChannel的Guids,那么添加它.也许一个不同的认可会更好......任何建议?
ps我知道这行不起作用,我把代码放在那里只是为了便于理解我需要的东西.
编辑:我想我已经解决了它:
var softChannels = channels.ByPath("/software/").Children.Where(c => c.StateProperties.IsActive).Select(c => c.Guid);
var tmpGames = new List<MyCms.Content.Games.Game>();
// Get games only from active game channels
foreach (var channel in channels.ByPath("/gameslivecasinodirectcom/game-channels/").Children.Where(c => c.StateProperties.IsActive))
{
tmpGames.AddRange(oGames.AllActive.Where(g => g.StateProperties.Channels.Contains(channel.Guid) && softChannels.Contains(g.GamingProperties.Software.Trim())));
}
Run Code Online (Sandbox Code Playgroud)
如果有人发现有问题,请告诉我.
要检查是否Any()在中softChannels包含:
softChannels.Any(sc => g.GamingProperties.Software.Contains(sc))
Run Code Online (Sandbox Code Playgroud)
事实上,你甚至可以写
softChannels.Any(g.GamingProperties.Software.Contains)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10250 次 |
| 最近记录: |