温馨提示×

c# threadstart能否传递参数给线程

c#
小樊
82
2024-06-24 10:09:25
栏目: 编程语言

是的,可以使用ParameterizedThreadStart代替ThreadStart委托,从而允许将参数传递给线程。通过使用ParameterizedThreadStart,您可以传递一个对象作为参数给线程。您需要将传递给ParameterizedThreadStart委托的对象强制转换为实际的参数类型。以下是一个示例:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        string message = "Hello, World!";
        Thread thread = new Thread(new ParameterizedThreadStart(DoWork));
        thread.Start(message);
    }

    static void DoWork(object data)
    {
        string message = (string)data;
        Console.WriteLine(message);
    }
}

在这个示例中,我们创建了一个包含一个字符串参数的线程,并将"Hello, World!"作为参数传递给线程。在DoWork方法中,我们将参数转换为字符串并在控制台上打印出来。

0