從主執行緒向ThreadStart 傳遞參數
建立新執行緒並向其目標方法傳遞參數時,了解語法至關重要以及C#中可用的選項。考慮以下情境:
<br>public void download(string filename)<br>{<pre class="brush:php;toolbar:false">// download code
}
Thread thread = new Threadthread = new Thread (新的ThreadStart(download(filename)));
但是,此程式碼將導致編譯錯誤,因為 ThreadStart 建構子需要一個不帶參數的方法。那麼,我們該如何從主執行緒向 ThreadStart 方法傳遞參數呢?
最簡單的方法:Lambda 表達式
最簡單的解決方案是使用lambda 表達式作為目標方法,如下所示:
string filename = ... Thread thread = new Thread(() => download(filename)); thread.Start();
此技術可讓您將多個參數傳遞給目標方法並提供編譯時無需從物件進行投射即可進行檢查。
以上是如何在 C# 中向 ThreadStart 方法傳遞參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!