當前位置: 首頁>>代碼示例>>C#>>正文


C# Enumerable.Intersect方法代碼示例

本文整理匯總了C#中System.Linq.Enumerable.Intersect方法的典型用法代碼示例。如果您正苦於以下問題:C# Enumerable.Intersect方法的具體用法?C# Enumerable.Intersect怎麽用?C# Enumerable.Intersect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。


在下文中一共展示了Enumerable.Intersect方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Equals

public class Product
{
    public string Name { get; set; }
    public int Code { get; set; }
}

// Custom comparer for the Product class
class ProductComparer : IEqualityComparer<Product>
{
    // Products are equal if their names and product numbers are equal.
    public bool Equals(Product x, Product y)
    {
       
        //Check whether the compared objects reference the same data.
        if (Object.ReferenceEquals(x, y)) return true;

        //Check whether any of the compared objects is null.
        if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
            return false;

        //Check whether the products' properties are equal.
        return x.Code == y.Code && x.Name == y.Name;
    }

    // If Equals() returns true for a pair of objects 
    // then GetHashCode() must return the same value for these objects.

    public int GetHashCode(Product product)
    {
        //Check whether the object is null
        if (Object.ReferenceEquals(product, null)) return 0;

        //Get hash code for the Name field if it is not null.
        int hashProductName = product.Name == null ? 0 : product.Name.GetHashCode();

        //Get hash code for the Code field.
        int hashProductCode = product.Code.GetHashCode();

        //Calculate the hash code for the product.
        return hashProductName ^ hashProductCode;
    }
}
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:42,代碼來源:Enumerable.Intersect

示例2:

Product[] store1 = { new Product { Name = "apple", Code = 9 }, 
                       new Product { Name = "orange", Code = 4 } };

Product[] store2 = { new Product { Name = "apple", Code = 9 }, 
                       new Product { Name = "lemon", Code = 12 } };
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:5,代碼來源:Enumerable.Intersect

示例3: ProductComparer

// Get the products from the first array 
// that have duplicates in the second array.

IEnumerable<Product> duplicates =
    store1.Intersect(store2, new ProductComparer());

foreach (var product in duplicates)
    Console.WriteLine(product.Name + " " + product.Code);
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:8,代碼來源:Enumerable.Intersect

輸出:

apple 9

示例4:

int[] id1 = { 44, 26, 92, 30, 71, 38 };
int[] id2 = { 39, 59, 83, 47, 26, 4, 30 };

IEnumerable<int> both = id1.Intersect(id2);

foreach (int id in both)
    Console.WriteLine(id);
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:7,代碼來源:Enumerable.Intersect

輸出:

26
 30

示例5: Equals

public class ProductA: IEquatable<ProductA>
{
    public string Name { get; set; }
    public int Code { get; set; }

    public bool Equals(ProductA other)
    {
        if (other is null)
            return false;

        return this.Name == other.Name && this.Code == other.Code;
    }

    public override bool Equals(object obj) => Equals(obj as ProductA);
    public override int GetHashCode() => (Name, Code).GetHashCode();
}
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:16,代碼來源:Enumerable.Intersect

示例6:

ProductA[] store1 = { new ProductA { Name = "apple", Code = 9 }, 
                       new ProductA { Name = "orange", Code = 4 } };

ProductA[] store2 = { new ProductA { Name = "apple", Code = 9 }, 
                       new ProductA { Name = "lemon", Code = 12 } };
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:5,代碼來源:Enumerable.Intersect

示例7:

// Get the products from the first array 
// that have duplicates in the second array.

IEnumerable<ProductA> duplicates =
    store1.Intersect(store2);

foreach (var product in duplicates)
    Console.WriteLine(product.Name + " " + product.Code);
開發者ID:.NET開發者,項目名稱:System.Linq,代碼行數:8,代碼來源:Enumerable.Intersect

輸出:

apple 9


注:本文中的System.Linq.Enumerable.Intersect方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。