Maison >développement back-end >Tutoriel C#.Net >Comment utiliser les opérateurs Take et Skip dans la programmation LINQ C#

Comment utiliser les opérateurs Take et Skip dans la programmation LINQ C#

WBOY
WBOYavant
2023-09-06 16:45:07880parcourir

如何在 LINQ C# 编程中同时使用 Take 和 Skip 运算符

Nous créons deux instances de la classe Employee, e et e1. e est attribué à e1. Les deux objets pointent vers la même référence, nous obtiendrons donc vrai Pour tous les Equals, résultat attendu.

Dans le deuxième cas, nous pouvons observer que même si les valeurs des attributs sont les mêmes Égal à renvoie faux. Fondamentalement, lorsque les paramètres font référence à des objets différents Equals ne vérifie pas la valeur et renvoie toujours false.

Exemple 1

class Program{
   static void Main(string[] args){
      Employee e = new Employee();
      e.Name = "Test";
      e.Age = 27;
      Employee e2 = new Employee();
      e2 = e;
      var valueEqual = e.Equals(e2);
      Console.WriteLine(valueEqual);
      //2nd Case
      Employee e1 = new Employee();
      e1.Name = "Test";
      e1.Age = 27;
      var valueEqual1 = e.Equals(e1);
      Console.WriteLine(valueEqual1);
      Console.ReadLine();
   }
}
class Employee{
   public int Age { get; set; }
   public string Name { get; set; }
}

Sortie

True
False

Exemple 2

La traduction chinoise est :

Exemple 2

class Program{
   static void Main(string[] args){
      Employee e = new Employee();
      e.Name = "Test";
      e.Age = 27;
      Employee e2 = new Employee();
      e2 = e;
      var valueEqual = e.Equals(e2);
      Console.WriteLine(valueEqual);
      Employee e1 = new Employee();
      e1.Name = "Test";
      e1.Age = 27;
      var valueEqual1 = e.Equals(e1);
      Console.WriteLine(valueEqual1);
      Console.ReadLine();
   }
}
class Employee{
   public int Age { get; set; }
   public string Name { get; set; }
   public override bool Equals(object? obj){
      if (obj == null)
      return false;
      if (this.GetType() != obj.GetType()) return false;
      Employee p = (Employee)obj;
      return (this.Age == p.Age) && (this.Name == p.Name);
   }
   public override int GetHashCode(){
      return Age.GetHashCode() ^ Name.GetHashCode();
   }
}

Sortie

True
True

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer