Heim  >  Artikel  >  Backend-Entwicklung  >  Anonyme C#-Funktionen

Anonyme C#-Funktionen

PHPz
PHPzOriginal
2024-09-03 15:14:47450Durchsuche

Ein Funktionstyp in C#, der keinen Namen hat, wird als anonyme Funktion bezeichnet, die auch als Funktion ohne Namen ausgedrückt werden kann. Es gibt in C# zwei Typen anonymer Funktionen: Lambda-Ausdrücke in C# und anonyme Methoden in C#, wobei die anonyme Funktion, die zum Erstellen von Delegaten verwendet wird, in C# Lambda-Ausdruck genannt wird, mit der lokale Funktionen erstellt und als Argument und Abfragen übergeben werden können von LINQ kann auch mit Hilfe von Lambda-Ausdrücken geschrieben werden. Die gleiche Funktionalität wird auch von den Anonymous-Methoden bereitgestellt, mit der Ausnahme, dass die Liste der Parameter nicht verwendet werden kann.

Typen anonymer Funktionen in C#

In C# gibt es zwei Arten anonymer Funktionen. Sie sind:

1. Lambda-Ausdrücke

  • Delegierte können mithilfe einer Art anonymer Funktion namens Lambda Expressions erstellt werden.
  • Lokale Funktionen können mithilfe von Lambda-Ausdrücken erstellt werden, die als Argument übergeben werden können.
  • Die Abfragen des LINQ können mit Hilfe von Lambda-Ausdrücken geschrieben werden.
  • Die Syntax des Lambda-Ausdrucks in C# lautet wie folgt:
(input-parameters) => expression
Beispiel #1

C#-Programm zur Demonstration des Lambda-Ausdrucks in einem Programm zum Ermitteln des Quadrats einer Zahl:

Code:

using System;
//a namespace called program is defined
namespace program
{
//a class called check is defined
class check
{
delegate int Findsquare(int number);
//main method is called
static void Main(string[] args)
{
//a lambda expression to find the square of a number is defined
Findsquare Obtainsquare = r => r * r;
int l = Obtainsquare(3);
Console.WriteLine("The Square of the given number is: "+l);
}
}
}

Ausgabe:

Anonyme C#-Funktionen

Im obigen Programm ist ein Namespace namens Programm definiert. Dann wird eine Klasse namens check definiert. Dann wird die Hauptmethode aufgerufen. Anschließend wird ein Lambda-Ausdruck definiert, um das Quadrat einer Zahl zu ermitteln. Das Quadrat der mit dem Lambda-Ausdruck gefundenen Zahl wird angezeigt.

Beispiel #2

C#-Programm zur Demonstration des Lambda-Ausdrucks in einem Programm, um festzustellen, ob eine Zahl in der Liste vorhanden ist oder nicht:

Code:

using System;
using System.Collections.Generic;
//a namespace called program is defined
namespace program
{
//a class called check is defined
class check
{
//main method is called
static void Main(string[] args)
{
//a new list of type integer is created
List<int> mylist = new List<int>();
//integers are added to the list using add() method
mylist.Add(10);
mylist.Add(20);
mylist.Add(30);
//a lambda expression and find method is used to determine if a number is present in the list
int found = mylist.Find(r => r == 20);
if(found==0)
{
Console.WriteLine("The number is present in the list");
}
else
{
Console.WriteLine("The number is not present in the list");
}
//a lambda expression and find method is used to determine if a number is present in the list
found = mylist.Find(r => r == 40);
if(found==0)
{
Console.WriteLine("The number is present in the list");
}
else
{
Console.WriteLine("The number is not present in the list");
}
}
}
}

Ausgabe:

Anonyme C#-Funktionen

Im obigen Programm ist ein Namespace namens Programm definiert. Dann wird eine Klasse namens check definiert. Dann wird die Hauptmethode aufgerufen. Dann wird eine neue Liste vom Typ Integer erstellt. Anschließend werden mithilfe der Add()-Methode Ganzzahlen zur Liste hinzugefügt. Dann wird ein Lambda-Ausdruck zusammen mit der Find()-Methode verwendet, um zu bestimmen, ob eine Zahl in der Liste vorhanden ist oder nicht.

2. Anonyme Methoden

  • Eine Methode, die keinen Namen hat, wird in C# als anonyme Methode bezeichnet.
  • Die anonyme Methode wurde in C# Version 2.0 eingeführt.
  • Wir verwenden anonyme Methoden, wenn eine Inline-Methode erstellt werden soll, und Parameter müssen ebenfalls an die Methode übergeben werden, ähnlich wie wir Parameter an alle anderen Methoden übergeben.
  • Das Schlüsselwort Delegate wird verwendet, um eine anonyme Methode zu definieren, und diese Methode kann einer Variablen vom Typ Delegate zugewiesen werden.
  • Die Syntax der Anonymous-Methode in C# lautet wie folgt:
Delegate(parameter_list)
{
//Block of code
};
Beispiel #1

C#-Programm zur Demonstration einer anonymen Methode in einem Programm:

Code: 

using System;
//a class called program is defined
class program
{
//a delegate is created by using delegate keyword
public delegate void subject(string favsubject);
// Main method is called
static public void Main()
{
// a parameter is passed to the anonymous method using delegate keyword
subject sub = delegate(string favsubject)
{
Console.WriteLine("{0} is my favourite subject", favsubject);
};
sub("C#");
}
}

Ausgabe:

Anonyme C#-Funktionen

Im obigen Programm ist ein Klassenprogramm definiert. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Delegat erstellt. Dann wird die Hauptmethode aufgerufen. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Parameter an die anonyme Methode übergeben.

Beispiel #2

C#-Programm zur Demonstration einer anonymen Methode in einem Programm, das auf eine Variable zugreifen kann, die in der äußeren Methode definiert ist:

Code: 

using System;
//a class called program is defined
class program
{
//anonymous method is declared using delegate keyword
public delegate void subject(string favsubject);
// Main method is called
static public void Main()
{
//a string variable is defined in the outside method from anonymous method
string favsubject1 = "Coding_in_C#";
// a parameter is passed to the anonymous method using delegate keyword
subject sub = delegate(string favsubject)
{
Console.WriteLine("{0} is my favourite subject", favsubject);
Console.WriteLine("I also like {0}", favsubject1);
};
sub("C#");
}
}

Ausgabe:

Anonyme C#-Funktionen

Im obigen Programm ist eine Klasse namens Programm definiert. Anschließend wird mit dem Schlüsselwort „delegate“ ein Delegate erstellt. Dann wird die Hauptmethode aufgerufen. Dann wird eine String-Variable definiert, die die externe Methode der anonymen Methode ist. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Parameter an die anonyme Methode übergeben. Die anonyme Methode greift auch außerhalb der anonymen Methode auf die Variable zu.

Das obige ist der detaillierte Inhalt vonAnonyme C#-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Rekursive Funktion in C#Nächster Artikel:Rekursive Funktion in C#