1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
using System;
using System.Collections.Generic;
namespace ContainsExemple
{
public class Personne
{
public string Nom { get; set; }
public string Prenom { get; set; }
}
public class PersonneEqualable : IEquatable<PersonneEqualable>
{
public string Nom { get; set; }
public string Prenom { get; set; }
public bool Equals(PersonneEqualable p)
{
return (p.Nom == Nom && p.Prenom == Prenom);
}
public PersonneEqualable(Personne source)
{
Nom = source.Nom;
Prenom = source.Prenom;
}
}
public static class Exemple
{
public static void Run()
{
Personne p1 = new Personne() { Nom = "Dupont", Prenom = "Jacques" };
Personne p2 = new Personne() { Nom = "Durant", Prenom = "Jules" };
PersonneEqualable pe1 = new PersonneEqualable(p1);
PersonneEqualable pe2 = new PersonneEqualable(p2);
List<Personne> personnes = new List<Personne>() { p1, p2 };
List<PersonneEqualable> personneequalables = new List<PersonneEqualable>() { pe1, pe2 };
Personne p = new Personne() { Nom = "Dupont", Prenom = "Jacques" };
PersonneEqualable pe = new PersonneEqualable(p);
Console.WriteLine($"personnes contient p1 = {personnes.Contains(p1)}");
Console.WriteLine($"personnes contient p = {personnes.Contains(p)}");
Console.WriteLine($"personneequalables contient pe1 = {personneequalables.Contains(pe1)}");
Console.WriteLine($"personneequalables contient pe = {personneequalables.Contains(pe)}");
}
}
} |
Partager