ce mot clé en C#

WBOY
Libérer: 2024-09-03 15:29:08
original
553 Les gens l'ont consulté

En C#, le mot-clé 'this' est utilisé pour faire référence aux membres d'instance de la classe actuelle à partir d'une méthode d'instance ou d'un constructeur. Il supprime l'ambiguïté de nom entre les paramètres de méthode et les variables d'instance s'ils portent le même nom. Voici quelques utilisations du mot clé « this » en C# :

  • Il peut être utilisé pour invoquer n'importe quelle méthode de l'objet actuel.
  • Il peut être utilisé pour invoquer un autre constructeur à partir du constructeur de la même classe.
  • Il peut être utilisé comme paramètre pour un appel de méthode qui prend l'objet de la même classe comme paramètre.

Syntaxe avec explication :

La syntaxe d'utilisation du mot-clé « this » en C# est la suivante :

this.instance_variable
Copier après la connexion

Dans la syntaxe ci-dessus, « this » est le mot-clé et instance_variable est le nom de la variable d'instance de la classe.

Pour passer l'objet de la même classe en paramètre à une méthode, la syntaxe sera :

method_name(this);
Copier après la connexion

Dans la syntaxe ci-dessus, le mot-clé 'this' fait référence à l'objet de la classe actuelle et method_name est le nom de la méthode à appeler.

Comment fonctionne ce mot-clé en C# ?

Le mot-clé « this » en C# est utilisé comme pointeur « this » pour une classe. Il est utilisé pour représenter l’instance actuelle d’une classe. En C#, le pointeur « this » ne fonctionne que pour les membres non statiques de la classe car « this » fonctionne sur l'instance actuelle et les membres non statiques sont accessibles par l'instance de la classe. Le pointeur 'this' ne fonctionne pas pour les variables statiques et les fonctions membres car nous n'avons besoin d'aucune instance pour y accéder et elles existent au niveau de la classe.

Dans certains cas, il n'est pas nécessaire d'utiliser explicitement le mot-clé « ce ». Comme lorsque nous appelons la méthode de la classe actuelle, nous utilisons this.method_name() à la place de cela, nous pouvons appeler directement la méthode sans utiliser le mot-clé 'this' et dans cette situation, le mot-clé 'this' sera ajouté automatiquement par le compilateur. .

Comprenons le point ci-dessus à l'aide de la représentation picturale comme indiqué ci-dessous :

ce mot clé en C#

Exemples de ce mot clé en C#

Il existe de nombreuses façons d'utiliser le mot-clé « this » en C# :

Exemple n°1

Il est utilisé pour faire référence aux variables et aux fonctions membres de l'instance actuelle.

Code :

using System;
namespace keywords
{
class ThisDemo
{
//instance variable
public string Message;
public string GetMessage()
{
return Message;
}
public void SetMessage(string Message)
{
//"this.Message" refers to instance variable (class member)
this.Message = Message;
}
}
public class program
{
public static void Main()
{
ThisDemo obj = new ThisDemo();
obj.SetMessage("Hello world!");
Console.WriteLine(obj.GetMessage());
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Exemple n°2

Nous pouvons utiliser le mot-clé 'this' pour appeler la méthode dans la même classe.

Code :

using System;
namespace keywords
{
public class Employee
{
void displaySalary()
{
//calling displayDetails() method of same class
this.displayDetails();
Console.WriteLine("Salary: Rs.50000");
}
void displayDetails()
{
Console.WriteLine("Name: ABC");
Console.WriteLine("ID: 123ABC");
}
public static void Main(String []args)
{
Employee emp = new Employee();
emp.displaySalary();
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Exemple #3

Nous pouvons utiliser le mot-clé 'this' pour appeler un constructeur dans la même classe.

Code :

using System;
namespace keywords
{
class Student
{
// calling another constructor of the same class
public Student() : this("ABC")
{
Console.WriteLine("Parameterless Constructer of Student class");
}
//parameterized constructor
public Student(string Name)
{
Console.WriteLine("Parameterized constructor of Student class");
}
public void display()
{
Console.WriteLine("display() method of Student class");
}
}
public class program
{
public static void Main()
{
Student stud = new Student();
stud.display();
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Exemple n°4

Si une méthode prend un objet de la même classe comme paramètre, alors le mot-clé « this » peut être utilisé comme paramètre lors de l'appel de cette méthode.

De la même manière, une méthode peut renvoyer l'objet de la même classe en utilisant le mot-clé 'this'.

Code :

using System;
namespace keywords
{
public class Student
{
double marks;
//method taking object of same class as parameter
void display(Student stud)
{
Console.WriteLine("Marks of student: "+stud.marks);
}
//method returning object of same class
Student addGradeMarks(double marks)
{
this.marks = marks + 5;
display(this);
return this;
}
public static void Main(String[] args)
{
Student stud = new Student();
stud = stud.addGradeMarks(85);
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Exemple #5

En dehors de ces utilisations, une utilisation importante du mot-clé 'this' est que nous pouvons l'utiliser pour déclarer des indexeurs.

Code :

using System;
namespace keywords
{
public class World
{
private string[] continents = new string[7];
//declaring an indexer
public string this[int index]
{
get
{
return continents[index];
}
set
{
continents[index] = value;
}
}
}
public class ThisDemo
{
public static void Main()
{
World world = new World();
world[0] = "Asia";
world[1] = "Africa";
world[2] = "North America";
world[3] = "South America";
world[4] = "Antarctica";
world[5] = "Europe";
world[6] = "Australia";
for (int i = 0; i < 7; i++)
{
Console.Write(world[i]);
Console.Write("\n");
}
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Exemple #6

Le mot-clé « this » peut également être utilisé pour déclarer des méthodes d’extension.

Code :

using System;
namespace keywords
{
//Class1 contains three methods; we will add two more methods in it
//without re-compiling it
class Class1
{
public void Method1()
{
Console.WriteLine("Method1");
}
public void Method2()
{
Console.WriteLine("Method2");
}
public void Method3()
{
Console.WriteLine("Method3");
}
}
// Class2 contains Method4 and Method5 methods
//which we want to add in Class1 class
static class Class2
{
public static void Method4(this Class1 class1)
{
Console.WriteLine("Method4");
}
public static void Method5(this Class1 class1, string str)
{
Console.WriteLine(str);
}
}
public class ThisDemo
{
public static void Main(string[] args)
{
Class1 class1 = new Class1();
class1.Method1();
class1.Method2();
class1.Method3();
class1.Method4();
class1.Method5("Method5");
}
}
}
Copier après la connexion

Sortie :

ce mot clé en C#

Conclusion

  • Le mot-clé « this » est utilisé pour représenter l’instance actuelle d’une classe.
  • Si les variables d'instance et les paramètres de méthode ont le même nom, alors le mot-clé « this » peut être utilisé pour les différencier.
  • 'this' peut être utilisé pour déclarer des indexeurs.
  • Nous ne pouvons pas utiliser « ceci » dans une méthode statique.

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!

Étiquettes associées:
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!