Heim >Backend-Entwicklung >C++ >Wie übergebe ich Parameter an eine ThreadStart-Methode in C#?

Wie übergebe ich Parameter an eine ThreadStart-Methode in C#?

Barbara Streisand
Barbara StreisandOriginal
2025-01-07 08:07:41209Durchsuche

How to Pass Parameters to a ThreadStart Method in C#?

Parameter vom Hauptthread an ThreadStart übergeben

Beim Erstellen eines neuen Threads und beim Übergeben von Parametern an seine Zielmethode ist es wichtig, die Syntax zu verstehen und Optionen, die in C# verfügbar sind. Stellen Sie sich das folgende Szenario vor:

<br>public void download(string filename)<br>{</p>
<pre class="brush:php;toolbar:false">// download code

}

Thread-Thread = neuer Thread (neu ThreadStart(download(filename)));

Dieser Code führt jedoch zu einem Kompilierungsfehler, da der ThreadStart-Konstruktor eine Methode ohne Parameter erwartet. Wie können wir also Parameter vom Hauptthread an die ThreadStart-Methode übergeben?

Einfachster Ansatz: Lambda-Ausdruck

Die einfachste Lösung besteht darin, einen Lambda-Ausdruck als zu verwenden Zielmethode, wie unten gezeigt:

string filename = ...
Thread thread = new Thread(() => download(filename));
thread.Start();

Mit dieser Technik können Sie mehrere Parameter an die Zielmethode übergeben und eine Überprüfung zur Kompilierungszeit ermöglichen, ohne dass eine Umwandlung erforderlich ist von Objekten.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an eine ThreadStart-Methode in C#?. 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