C# 从LinqPad的课堂上跑步

C# 从LinqPad的课堂上跑步,c#,linqpad,C#,Linqpad,如何在LinqPad中以C#程序运行下面的代码谢谢 class ThreadTest { bool done; static void Main() { ThreadTest tt = new ThreadTest(); // Create a common instance new Thread (tt.Go).Start(); tt.Go(); } // Note that Go is now a

如何在LinqPad中以C#程序运行下面的代码谢谢

class ThreadTest
{
    bool done;

    static void Main()
    {
        ThreadTest tt = new ThreadTest();   // Create a common instance
        new Thread (tt.Go).Start();
        tt.Go();
    }

    // Note that Go is now an instance method
    void Go() 
    {
        if (!done) { done = true; Console.WriteLine ("Done"); }
    }
}
更新


简而言之,这个示例以及C#5并发章节中的所有其他示例都可以作为LINQPad示例库下载。转到LINQPad的样本树视图,单击“下载/导入更多样本”,然后选择第一个列表乔·阿尔巴哈里


只需将
Main
移出
ThreadTest
即可。您还需要将类和方法
公开
(或
内部
):


“C#程序”隐式地包含在类中-在嵌套类中移动
main
可能会混淆在最外层类中寻找
main
的执行器。

您尝试过吗?你犯了什么错误?是否添加了对System.Threading的引用?@DStanley它在LINQPad.ExecutionModel.ClrQueryRunner.Run()处的LINQPad.ExecutionModel.Server.RunQuery(QueryRunner runner runner)处提供NullReferenceException“未设置为对象实例的对象引用”简而言之,这个示例以及C#5并发章节中的所有其他示例都可以作为LINQPad示例库下载。转到LINQPad的样本树视图,单击“下载/导入更多样本”,然后选择第一个列表。@JoeAlbahari这正是我要找的。非常感谢…uppss我很抱歉Stanley我的错误,我复制/粘贴了错误的样本,但现在更新了。
static void Main()
{
   ThreadTest tt = new ThreadTest();   // Create a common instance
   new Thread (tt.Go).Start();
   tt.Go();
}

public class ThreadTest
{
    bool done;
    // Note that Go is now an instance method
    public void Go() 
    {
        if (!done) { done = true; Console.WriteLine ("Done"); }
    }
}