首頁 >後端開發 >C++ >如何將參數傳遞給 C# Thread.ThreadStart 方法?

如何將參數傳遞給 C# Thread.ThreadStart 方法?

Linda Hamilton
Linda Hamilton原創
2025-01-07 08:11:41857瀏覽

How Can I Pass Parameters to a C# Thread.ThreadStart Method?

如何在 C# 中向 Thread.ThreadStart 方法傳遞參數?

使用 lambda 表達式可以輕鬆地向 Thread.ThreadStart() 方法傳遞參數。讓我們考慮一下您的場景,您有一個名為「download」的方法,並且想要建立一個執行此方法的執行緒。

您目前的嘗試:

Thread thread = new Thread(new ThreadStart(download(filename));

將導致錯誤,因為ThreadStart() 方法需要一個不帶參數的方法。要傳遞參數,可以使用lambda 表達式,如下所示:

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

在此程式碼中,lambda 表達式提供了ThreadStart() 所需的無參數方法,並在內部呼叫指定的' download' 方法

這種方法比使用ParameterizedThreadStart有幾個優點:

  • 它允許您傳遞多個參數到目標方法。
  • 它提供編譯時檢查,確保目標方法有正確的簽章。

以上是如何將參數傳遞給 C# Thread.ThreadStart 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn