本文整理汇总了C#中System.Collections.Set.Intersect方法的典型用法代码示例。如果您正苦于以下问题:C# Set.Intersect方法的具体用法?C# Set.Intersect怎么用?C# Set.Intersect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Set
的用法示例。
在下文中一共展示了Set.Intersect方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IntersectionTest
public void IntersectionTest()
{
Set<int> a = new Set<int>();
for(int i = 0; i < 16; i += 2)
a.Add(i);
Set<int> b = new Set<int>();
for(int i = 0; i < 16; i += 3)
b.Add(i);
Set<int> inter = a.Intersect(b);
Assert.AreEqual(3, inter.Count, "A01");
Assert.AreEqual(0, inter[0], "A02");
Assert.AreEqual(6, inter[1], "A03");
Assert.AreEqual(12, inter[2], "A04");
}
示例2: Intersect
/// <summary>
/// Performs an "intersection" of the two sets, where only the elements
/// that are present in both sets remain. That is, the element is included only if it exists in
/// both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
/// The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <c>null</c>) containing the
/// elements from the intersect operation.
/// </summary>
/// <param name="a">A set of elements.</param>
/// <param name="b">A set of elements.</param>
/// <returns>The intersection of the two input sets. <c>null</c> if both sets are <c>null</c>.</returns>
public static Set Intersect(Set a, Set b)
{
if(a == null && b == null)
return null;
else if(a == null)
{
Set resultSet = (Set)((Set)b).Clone();
resultSet.Clear();
return resultSet;
}
else if(b == null)
{
Set resultSet = (Set)((Set)a).Clone();
resultSet.Clear();
return resultSet;
}
else
return a.Intersect(b);
}
示例3: GetCommonRequiredPackages
// Returns set of packages required by all configs
public Set<SystemPackage> GetCommonRequiredPackages ()
{
if (commonPackages != null)
return commonPackages;
commonPackages = new Set<SystemPackage> ();
int i = 0;
foreach (Set<SystemPackage> pkgSet in referencedPackagesByConfig.Values) {
if (i == 0) {
// Use the first set as the starting one
foreach (SystemPackage p in pkgSet)
commonPackages.Add (p);
i ++;
continue;
}
commonPackages.Intersect (pkgSet);
if (commonPackages.Count == 0)
break;
}
return commonPackages;
}
示例4: IntersectWithAny
static Set<Term> IntersectWithAny(Set<Term> s1 , Set<Term> s2)
{
if (s1.Contains(Any.Value))
return s2;
else if (s2.Contains(Any.Value))
return s1;
else
return s1.Intersect(s2);
}