本文整理汇总了C#中ISet.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# ISet.Clone方法的具体用法?C# ISet.Clone怎么用?C# ISet.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISet
的用法示例。
在下文中一共展示了ISet.Clone方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Union
/// <summary>
/// Performs a "union" of two sets, where all the elements
/// in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
/// The return value is a <c>Clone()</c> of one of the sets (<c>a</c> if it is not <c>null</c>) with elements of the other set
/// added in. Neither of the input sets is modified by the operation.
/// </summary>
/// <param name="a">A set of elements.</param>
/// <param name="b">A set of elements.</param>
/// <returns>A set containing the union of the input sets. <c>null</c> if both sets are <c>null</c>.</returns>
public static ISet Union(ISet a, ISet b)
{
if (a == null && b == null)
return null;
else if(a == null)
return (ISet)b.Clone();
else if(b == null)
return (ISet)a.Clone();
else
return a.Union(b);
}
示例2: ExclusiveOr
/// <summary>
/// Performs an "exclusive-or" of the two sets, keeping only the elements that
/// are in one of the sets, but not in both. The original sets are not modified
/// during this operation. The result set is a <c>Clone()</c> of one of the sets
/// (<c>a</c> if it is not <c>null</c>) containing
/// the elements from the exclusive-or operation.
/// </summary>
/// <param name="a">One set of elements to use exclusive or with.</param>
/// <param name="b">The other set of elements to use exclusive or with.</param>
/// <returns>A set containing the result of <c>a ^ b</c>. <c>null</c> if both sets are <c>null</c>.</returns>
public static ISet ExclusiveOr(ISet a, ISet b)
{
if (a == null && b == null)
return null;
if (a == null)
return (ISet)b.Clone();
if (b == null)
return (ISet)a.Clone();
return a.ExclusiveOr(b);
}
示例3: Union
/// <summary>
/// Performs a "union" of two sets, where all the elements in both are
/// present.
/// </summary>
/// <remarks>
/// <p>
/// That is, the element is included if it is in either
/// <paramref name="setOne"/> or <paramref name="anotherSet"/>. The return
/// value is a <b>clone</b> of one of the sets (<paramref name="setOne"/>
/// if it is not <see langword="null"/>) with elements of the other set
/// added in. Neither of the input sets is modified by the operation.
/// </p>
/// </remarks>
/// <param name="setOne">A set of elements.</param>
/// <param name="anotherSet">A set of elements.</param>
/// <returns>
/// A set containing the union of the input sets;
/// <see langword="null"/> if both sets are <see langword="null"/>.
/// </returns>
public static ISet Union(ISet setOne, ISet anotherSet)
{
if (setOne == null && anotherSet == null)
{
return null;
}
else if (setOne == null)
{
return (ISet) anotherSet.Clone();
}
else if (anotherSet == null)
{
return (ISet) setOne.Clone();
}
else
{
return setOne.Union(anotherSet);
}
}
示例4: ExclusiveOr
/// <summary>
/// Performs an "exclusive-or" of the two sets, keeping only those
/// elements that are in one of the sets, but not in both.
/// </summary>
/// <remarks>
/// <p>
/// The original sets are not modified during this operation. The
/// result set is a <b>clone</b> of one of the sets (
/// <paramref name="setOne"/> if it is not <see langword="null"/>)
/// containing the elements from the exclusive-or operation.
/// </p>
/// </remarks>
/// <param name="setOne">A set of elements.</param>
/// <param name="anotherSet">A set of elements.</param>
/// <returns>
/// A set containing the result of
/// <c><paramref name="setOne"/> ^ <paramref name="anotherSet"/></c>.
/// <see langword="null"/> if both sets are <see langword="null"/>.
/// </returns>
public static ISet ExclusiveOr(ISet setOne, ISet anotherSet)
{
if (setOne == null && anotherSet == null)
{
return null;
}
else if (setOne == null)
{
return (Set) anotherSet.Clone();
}
else if (anotherSet == null)
{
return (Set) setOne.Clone();
}
else
{
return setOne.ExclusiveOr(anotherSet);
}
}