C# Task與Task


Task<T>:任務返回結果類型為T的Task,Task<T>繼承Task,Task<T>有Result屬性,Result類型為T,而Task無Result屬性

Task<T>類似於C#內置的兩個委托:有返回值的Func,如Func<T1,T2,T3>代表參數值類型為T1和T2返回值類型為T3的委托和無返回值的委托Action,如Action<T1,T2,T3>代表參數類型為T1、T2和T3的委托

 

示例代碼:

        public  static void Main(string [] args)
        {
            var temp=Test();

            Console.Read();
        }

        public async  static Task Test()
        {
            var task1 = TaskTTest("task1");
            var task2 = AsyncTest("asyncTask");

            string task1_res = task1.Result; // Task<string>返回string結果
            string task2_res = await AsyncTest("task2");

            Console.WriteLine($"task1_res:{task1_res}, task2_res:{task2_res}");
        }

        public static Task<string> TaskTTest(string taskName)
        {
            return Task.Run(() => TaskMethod(taskName));
        }

        public async static Task<string> AsyncTest(string taskName)
        {
            await Task.CompletedTask;

            return TaskMethod(taskName);
        }

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM