C# | esta palabra clave

esta palabra clave se utiliza para referirse a la instancia actual de la clase. Se utiliza para acceder a los miembros de los constructores, métodos de instancia y accesores de instancia. esta palabra clave también se usa para rastrear la instancia que se invoca para realizar algún cálculo o procesamiento adicional relacionado con esa instancia. Las siguientes son las diferentes formas de usar la palabra clave ‘this’ en C#:
Programa 1: Uso de la palabra clave ‘this’ para referirse a los miembros de la instancia de clase actual
 

csharp

// C# program for using 'this' keyword to
// refer current class instance members
using System;
namespace geeksforgeeks {
 
class Geeks {
 
    // instance member
    public string Name;
 
    public string GetName()
    {
        return Name;
    }
 
 
    public void SetName(string Name)
    {
         // referring to current instance
         //"this.Name" refers to class member
         this.Name = Name;
    }
}
 
class program {
 
    // Main Method
    public static void Main()
    {
        Geeks obj = new Geeks();
        obj.SetName("Geeksforgeeks");
        Console.WriteLine(obj.GetName());
    }
}
}
Producción: 

Geeksforgeeks

 

Programa 2: Usar this() para invocar al constructor en la misma clase
 

csharp

// C# program for using 'this' keyword to
// invoke the constructor in same class
using System;
namespace geeksforgeeks {
 
class Geeks {
 
    // calling another constructor
    // calls Geeks(string Name)
    // before Geeks()
    public Geeks() : this("geeks")
    {
        Console.WriteLine("Non-Parameter Constructor Called");
    }
 
    // Declare Parameter Constructor
    public Geeks(string Name)
    {
        Console.WriteLine("Parameter Constructor Called");
    }
}
 
class program {
     
    // Main Method
    public static void Main()
    {
            Geeks obj = new Geeks();
            // Warning: obj never used..
    }
}
}

Producción:

Parameter Constructor Called
Non-Parameter Constructor Called

Programa 3: uso de la palabra clave ‘this’ para invocar el método de clase actual 
 

csharp

// C# code for using this to invoke current
// class method
using System;
class Test {
 
    void display()
    {
        // calling function show()
        this.show();
     
        Console.WriteLine("Inside display function");
    }
     
    void show()
    {
        Console.WriteLine("Inside show function");
    }
     
    // Main Method
    public static void Main(String []args)
    {
        Test t1 = new Test();
        t1.display();
    }
}
Producción

Inside show function
Inside display function

Programa 4: Uso de la palabra clave ‘this’ como parámetro de método 
 

csharp

// C# code for using 'this'
// keyword as method parameter
using System;
class Test
{
    int a;
    int b;
     
    // Default constructor
    Test()
    {
        a = 10;
        b = 20;
    }
     
    // Method that receives 'this'
    // keyword as parameter
    void display(Test obj)
    {
        Console.WriteLine("a = " + a + " b = " + b);
    }
 
    // Method that returns current
    // class instance
    void get()
    {
        display(this);
    }
 
    // Main Method
    public static void Main(String[] args)
    {
        Test obj = new Test();
        obj.get();
    }
}
Producción: 

a = 10 b = 20

 

Programa 5: Uso de esta palabra clave para declarar un indexador 
 

csharp

// C# code for using 'this'
// keyword to declare indexer
using System;
namespace geeksforgeeks {
     
class Geeks {
     
    private string[] days = new string[7];
 
    // declaring an indexer
    public string this[int index]
    {
        get
        {
            return days[index];
        }
 
        set
        {
            days[index] = value;
        }
    }
}
 
 
class Program {
     
    // Main Method
    public static void Main()
    {
        Geeks g = new Geeks();
        g[0] = "Sun";
        g[1] = "Mon";
        g[2] = "Tue";
        g[3] = "Wed";
        g[4] = "Thu";
        g[5] = "Fri";
        g[6] = "Sat";
        for (int i = 0; i < 7; i++)
            Console.Write(g[i] + " ");
    }
}
}
Producción: 

Sun Mon Tue Wed Thu Fri Sat

 

Publicación traducida automáticamente

Artículo escrito por Mithun Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *