【发布时间】:2011-07-14 10:14:23
【问题描述】:
我有一个名为 game 的对象,它有一个名为 channels 的属性(用逗号分隔,因为游戏可以与多个频道相关)。
我还有一个通道对象,它包含一个名为 isActive 的属性。
我需要的是一种获取所有具有活跃频道的游戏的方法。
我开始写这个:
var oGames = games.AllActive.Where(
g => !g.StateProperties.Channels.Contains(
channels.All.Where(c => c.StateProperties.IsActive).ToArray()
);
但是被屏蔽了……谁能帮帮我?
【问题讨论】:
-
好吧,首先 .Contains 只接受字符串(不接受通道对象),如果我将转换结果数组,那么 .Contains 仍会将 g.stateproperties.channels 中出现的确切字符串与来自 .channels.all....的确切结果....
-
当您可以使用 real
List时,为什么还要保留“逗号分隔列表”又名字符串?有理由在 C# 中编写字符串类型的代码吗? -
即使你是对的,我也无法在经过 5 年的发展后去改变整个工作模式。