举个栗子讲C#的linq查询的使用场景
1 namespace ConsoleApplication1 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //场景一:找到strs集合中包含“A”的字符串,然后已大写字符串和字符串长度的形式转存出来。 8 //{Word="AS",Length=2},{Word="SPA",Length=3} 9 //最原始的方式 10 var strs = new string[] { "is", "as", "spa" }; 11 List<Word> words = new List<Word>(); 12 foreach (var str in strs) 13 { 14 var upper = str.ToUpper(); 15 if (upper.Contains("A")) 16 { 17 words.Add(new Word() { Str = upper, Length = upper.Length }); 18 } 19 } 20 //现在的读取方式 21 var query = from str in strs 22 let upper = str.ToUpper() //定义临时变量 23 where upper.Contains("A") 24 select new { Str=upper, Length=upper.Length }; 25 } 26 } 27 class Word 28 { 29 public string Str { get; set; } 30 public int Length { get; set; } 31 } 32 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构