如何在LinqPad中运行以下代码 C#Program 谢谢......
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"); }
}
}
更新
此示例 - 以及Nutshell中C#5的并发章节中的所有其他示例都可以作为LINQPad示例库下载。转到LINQPad的样本TreeView,然后单击“下载/导入更多样本”并选择第一个列表。 - Joe Albahari
答案 0 :(得分:5)
将Main
移出ThreadTest
,它应该可以正常工作。您还需要在此时创建类和方法public
(或internal
):
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"); }
}
}
“C#程序”隐式包含在一个类中 - 在嵌套类中移动main
可能会混淆在最外层的类中寻找Main
的执行程序。