C# 如何使用任务获取项目列表<;列表<;T>&燃气轮机;任务的定义?
我正在处理此代码,但当前上下文中不存在错误“方法”doSomthing1”:C# 如何使用任务获取项目列表<;列表<;T>&燃气轮机;任务的定义?,c#,task-parallel-library,C#,Task Parallel Library,我正在处理此代码,但当前上下文中不存在错误“方法”doSomthing1”: static void Main(){ 秒表秒表1; 秒表1=新秒表(); stopwatch1.Reset(); stopwatch1.Start(); Task myTask=Task.Factory.StartNew(()=>doSomething1()); //Task myTask=Task.Factory.StartNew(()=>doSomething2()); 睡眠(500); 秒表秒表2=新秒表();
static void Main(){
秒表秒表1;
秒表1=新秒表();
stopwatch1.Reset();
stopwatch1.Start();
Task myTask=Task.Factory.StartNew(()=>doSomething1());
//Task myTask=Task.Factory.StartNew(()=>doSomething2());
睡眠(500);
秒表秒表2=新秒表();
stopwatch2.Reset();
stopwatch2.Start();
//myTask.Wait();
如果(myTask.IsCompleted){
stopwatch2.Stop();
}
myTask.Result.ForEach(x=>Console.WriteLine(x.ToString());
stopwatch1.Stop();
WriteLine(“秒表1经过的时间”+stopwatch1.elapsedmillisons.ToString());
WriteLine(“秒表2经过的时间”+stopwatch2.elapsedmillisons.ToString());
Console.Read();
}
静态列表doSomething1(){
《睡眠》(2000年);
返回新列表{1,2,3,4,5,6};
}
静态int doSomething2(){
《睡眠》(2000年);
int k=2;
返回k;
}
如果我将任务与任务定义一起使用,那么每件事都会起作用,但当我尝试使用任务时,我会出错
谁能解释一下错误的原因吗。谢谢区分大小写的方法名称,doh 返回int的静态void?任何人都无法解释为什么否决投票。谢谢,我想删除这个问题,有人能帮我吗。谢谢
static void Main( ) {
Stopwatch stopwatch1;
stopwatch1 = new Stopwatch( );
stopwatch1.Reset( );
stopwatch1.Start( );
Task<List<int>> myTask = Task<List<int>>.Factory.StartNew( ( ) => doSomething1( ) );
//Task<int> myTask = Task<int>.Factory.StartNew( ( ) => doSomething2 () );
Thread.Sleep( 500 );
Stopwatch stopwatch2 = new Stopwatch( );
stopwatch2.Reset( );
stopwatch2.Start( );
//myTask.Wait( );
if( myTask.IsCompleted ) {
stopwatch2.Stop( );
}
myTask.Result.ForEach (x => Console.WriteLine (x.ToString () ));
stopwatch1.Stop( );
Console.WriteLine( "Stopwatch 1 elapsed time " + stopwatch1.ElapsedMilliseconds.ToString( ) );
Console.WriteLine( "Stopwatch 2 elapsed time " + stopwatch2.ElapsedMilliseconds.ToString( ) );
Console.Read( );
}
static List<int> doSomething1( ) {
Thread.Sleep( 2000 );
return new List<int> { 1, 2, 3, 4, 5, 6 };
}
static int doSomething2 () {
Thread.Sleep( 2000 );
int k = 2 ;
return k ;
}