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> <div class="code" style="position:relative; padding:0px; margin:0px;"><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!