摘要: 1. 自定义Where方法 static void MM(string[] args) { IEnumerable<int> ints = new int[] { 1, 2, 4, 63, 12, 34, 46, 12, 45, 12456 }; // 使用LINQ中的Where方法 //IEnum 阅读全文
posted @ 2023-11-26 18:18 Simian_2018_12_22 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 委托可以演变为匿名方法,然后由匿名方法演变成为Lambda。 static void MM(string[] args) { // 无参数无返回值的匿名方法 Action a1 = delegate () { Console.WriteLine("这是一个匿名方法"); }; a1(); // 有参 阅读全文
posted @ 2023-11-26 17:59 Simian_2018_12_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 如果有多个Task任务,如果需要等待所有任务执行完成使用:WaitAll或WhenAll 如果只需要等待其中一个执行完成则使用WaitAny或WhenAny When表示有返回值 Wait表示无返回值 static async Task Main(string[] args) { Console.W 阅读全文
posted @ 2023-11-26 10:50 Simian_2018_12_22 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 使用yield能将返回值一个一个返回回去,然后接收的地方先进行处理,处理完,等下一个返回值回来后再处理下一个。 static void Main(string[] args) { foreach (var arg in GetStrings()) { Console.WriteLine(arg); 阅读全文
posted @ 2023-11-26 10:12 Simian_2018_12_22 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 原文链接:C# 使用Task执行异步操作 - Ryan_zheng - 博客园 (cnblogs.com) 为什么要使用 Task 线程是创建并发的底层工具,因此具有一定的局限性。 没有简单的方法可以从联合(Join)线程得到“返回值”。因此必须创建一些共享域。当抛出一个异常时,捕捉和处理异常也是麻 阅读全文
posted @ 2023-11-26 10:03 Simian_2018_12_22 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 开始 异步方法不等于多线程,await是等但又是不等。 1. 调用系统的async方法 static async Task Main(string[] args) { await File.WriteAllTextAsync("a.txt", "xxxxxxxxxx"); string s = aw 阅读全文
posted @ 2023-11-26 09:57 Simian_2018_12_22 阅读(24) 评论(0) 推荐(0) 编辑