现状:LINQ的扩展集操作
HashSet<string> MasterSet => {100, 3}
HashSet <string> SubSet => {100, 3} or {100} or {100, 3, 1}
所以从子集的巨大的名单,根据MasterSet我选择特定的设置是这样的:
if(MasterSet.SetEquals(subSet) || MasterSet.IsSupersetOf(subSet) || MasterSet.IsSubsetOf(subSet))
用tha t subSet如果为真,则循环其他可用集合。
问题的重复: 如果业务逻辑要包括在主设置重复和其子集,如:
MasterSet => {100, 3, 3}
SubSet => {100, 3, 3} or {100, 3} or {100, 3, 3, 1}
然后HashSet的使用被剥夺。
如何选择的子集,如果我改变MasterSet和子集List<string>
编辑:由“BigYellowCactus”提供 解决方案的工作。但是,如果我想使用标题而不是元素的顺序来匹配,那么过滤集合会更容易?
MasterSet => {100, 3, 4}
MasterHeaders => {"T","F","V"} //Headers element corresponds to the MasterSet element
案例1:
SubSet => {3, 100}
SubSetHeaders => {"F", "T"} //Headers element corresponds to the SubSet element
案例2:
SubSet => {4, 3}
SubSetHeaders => {"V", "F"} //Headers element corresponds to the SubSet element
是否有可能通过值进行比较MasterHeaders和SubSetHeaders然后Match头第一场比赛?
是你的问题,“是否存在允许重复成员的ISet的实施?”据我了解,这是你的问题,对吗? –
Jodrell
2012-07-25 10:47:42
我正在使用.NET 3.5 :-( – Suresh 2012-07-25 10:50:34