C# 从LinqPad的课堂上跑步
如何在LinqPad中以C#程序运行下面的代码谢谢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
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"); }
}
}