.NET
文章平均质量分 91
scixing
今天是学习.NET的好日子
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NET 11 Preview 5:C# 15 里更完整的 union、closed 和 unsafe 体验
.NET 11 Preview 5 引入三项 C# 语法增强 联合类型(union):通过public union Pet(Dog,Cat)显式定义值类型范围,支持隐式转换和穷尽性模式匹配,将多态约束从约定转为类型系统保障。 封闭继承(closed):标记closed的基类限制直接派生类型必须位于同一程序集,使编译器能验证模式匹配的完整性,不同于sealed仍允许间接继承。 精准不安全边界:指针声明与获取不再强制unsafe上下文,仅解引用等危险操作需要,提升代码审查精度。 这些特性共同强化了类型安全与意图原创 2026-07-01 00:12:28 · 192 阅读 · 0 评论 -
MAF教学系列 #4:用 RAG 把“幻觉”关进笼子,让 AI 学会“引经据典”
本文介绍了如何通过检索增强生成(RAG)技术解决AI大模型"幻觉"问题。RAG通过在回答前检索知识库,确保回答基于可靠资料。文章演示了两种实现方式:1)使用TextSearchProvider模拟文本搜索,当问题包含特定关键词时返回预设答案;2)集成向量数据库进行语义搜索,将文本转换为向量并计算相似度。通过MAF框架,开发者可以轻松实现RAG功能,只需定义搜索时机、封装搜索逻辑并注入AIAgent即可。这种方法能有效提升AI回答的准确性,适用于企业知识库等场景。原创 2026-04-29 09:00:00 · 484 阅读 · 0 评论 -
探索 Microsoft Agent Framework:(二)Tools与格式化输出
本文介绍了如何在Microsoft Agent Framework (MAF) 中使用Tools功能,让AI代理能够调用开发者定义的函数。通过示例展示了如何创建天气查询工具和人物信息生成工具,并强调了结构化输出的重要性。文章还讲解了如何让AI代理直接返回指定格式的对象(如Person记录),而不仅仅是自然语言描述。最后演示了将Tools功能与结构化输出结合使用的方法,使开发者能够更高效地构建功能丰富的AI代理。该技术可应用于天气查询、数据获取等多种场景,提高AI响应的准确性和可用性。原创 2026-03-27 16:58:51 · 440 阅读 · 0 评论 -
探索 Microsoft Agent Framework:构建你的第一个 AI Agent(入门篇)
Microsoft Agent Framework(简称 MAF)是微软推出的一款用于构建 AI 应用程序的强大工具。它支持 C# 和 Python两种语言使用,当然,尤其适合 .NET 技术栈的开发者,帮助我们快速集成大语言模型(LLM)并构建智能 Agent。本文将带你从零开始,逐步了解如何使用 MF 创建自己的第一个 Agent,并实现文字对话、图片理解、多轮交互以及会话持久化等功能。原创 2026-03-19 00:06:56 · 851 阅读 · 0 评论 -
C#中的并行计算库(PLINQ)实战与性能优化
通过上面的代码演示与性能测试,我们了解到:对于计算密集型任务,PLINQ能够显著提高性能,尤其是在数据量较大的情况下。对于I/O密集型任务,异步编程(async/await)更加合适,因为它能够有效地利用线程进行等待资源。使用PLINQ时,需要小心分区与线程开销,避免在小数据或I/O密集型任务中滥用并行计算,同时也需要避免过度并行化。学会了吗?原创 2026-02-12 11:00:00 · 593 阅读 · 0 评论 -
GitHub Copilot走出编辑器,成为你应用的一部分
GitHub Copilot sdk的发布,让copilot可以集成到任意应用原创 2026-02-02 19:00:00 · 803 阅读 · 0 评论 -
VSCode自定义Copilot Agent与Awesome Agent
本文介绍了在VSCode中创建自定义Copilot Agent的方法。通过Agent菜单可创建工作区或全局Agent模板,并使用ConfigureTools配置工具。文章推荐awesome-copilot项目提供丰富的Agent模板、提示词模板及技能模板等资源,方便开发者快速使用。更多内容可关注作者在微信公众号"@scixing的炼丹房"和B站"@无聊的年"的分享。原创 2026-01-18 20:17:09 · 3250 阅读 · 0 评论 -
.NET10疯狂的性能提升
.NET10带来了一系列令人振奋的性能优化,主要包括逃逸分析、委托优化和抽象性能提升。逃逸分析能智能判断对象生命周期,将短期对象分配到栈上而非堆,显著减少GC压力。委托优化使编译器能内联不会逃逸的委托,降低内存占用。此外,数组接口和Linq操作(如Contains)也获得重大改进,能更智能地理解开发者意图,避免不必要的中间操作。这些优化使.NET10在内存管理和执行效率上都有显著提升,为开发者带来更高效的运行体验。原创 2025-12-28 13:13:28 · 877 阅读 · 0 评论 -
函数式编程 第八讲 循环者,递归也
本文探讨了函数式编程中循环与递归的等价性及适用场景。通过分析循环和尾递归的结构相似性(初始状态、状态传递、终止条件),指出在业务逻辑中,尾递归可以更清晰地表达"直到成功"的意图。文章比较了命令式循环和函数式递归在动态规划算法和重试(retry)场景下的适用性:循环适合计算密集型任务,而递归更适合表达业务意图。最后提出可将重试逻辑抽象为高阶函数,强调函数式编程通过"将流程转化为值"来提升代码可读性和可组合性,同时指出在C#中使用尾递归需注意性能优化问题。原创 2025-11-27 23:34:53 · 730 阅读 · 0 评论 -
【C#探索】.NET10 C#14前瞻
【C#14新特性前瞻】文章摘要:.NETConf2025将发布.NET10正式版,C#14带来多项重要更新:1.全新扩展方法语法,支持方法、属性及运算符扩展,提升函数式编程体验;2.幕后变量(field)自动生成简化属性定义;3.Null条件分配支持安全赋值;4.改进的JSON序列化支持PipeReader;5.简单lambda参数支持out修饰符;6.用户自定义复合运算符和分部构造函数;7.字符串数字排序优化。这些改进使C#更简洁高效,同时增强函数式编程能力。原创 2025-11-15 09:46:59 · 679 阅读 · 0 评论 -
【F#入门】 第六讲 计算表达式(与异步模型简介)
本文介绍了F#中计算表达式的概念,用于简化代数数据类型的组合运算。通过定义OptionBuilder类型实现Bind和Return方法,可以优雅地处理Option类型的值组合问题,避免繁琐的模式匹配。计算表达式支持let!、return等语法,类似于C#的LINQ查询表达式。文章还展示了如何将这一模式应用于异步编程(Async/Task),通过async/task表达式简化异步操作组合。这种方法将高级值视为普通值处理,无需关注具体实现细节,体现了函数式编程的抽象能力。计算表达式大大提升了代码可读性和编写效率原创 2025-10-08 12:06:51 · 740 阅读 · 0 评论 -
【函数式编程】七- 数据结构
本文探讨了函数式编程与数据结构的结合,重点介绍了两种不可变数据结构的实现方式:链表和二叉树。通过递归定义和不可变性原则,文章展示了如何用F#和C#构建函数式链表(List<T>)和二叉树(Tree<T>)。这些结构遵循函数式编程的核心特性:不可变性(修改时创建新对象)和表达式特性(确定性输出)。文章指出函数式数据结构在多读少写场景下的优势,包括状态回溯能力和高级抽象处理能力,同时也提到其性能特点(如尾部操作效率问题)。最后鼓励读者自行实现树的Map和Insert函数以深入理解函数式数原创 2025-09-28 18:04:30 · 946 阅读 · 0 评论 -
Visual Studio 2026预览版发布!
VS2026预览版发布,带来多项重大更新:性能显著提升,启动和项目加载速度更快;采用Fluent UI重新设计界面,提供11种配色方案;编辑器新增文件编码修改功能,原生支持Mermaid语法;搜索功能优化,可排除指定文件夹;Copilot能力增强,支持意图识别、自适应粘贴和自定义模型;新增.NET性能测试模板,支持报表输出;Git工具支持内联拉取请求注释。推荐配置16核CPU+64GB内存,但优化后性能仍优于VS2022。原创 2025-09-17 09:36:31 · 7078 阅读 · 0 评论 -
【C#探索】C#中三种只读/不可变集合有什么用?
本文介绍了C#中三种只读/不可变集合的区别与应用:Readonly系列是对可变集合的简单封装,成本低适用于限制修改权限;Immutable系列采用函数式编程理念,通过创建新对象实现修改,适合多线程和版本追踪场景;Frozen系列是.NET8新增的真正不可变集合,优化读取性能但创建开销大,适用于只读常量表。文章通过历史演变、性能对比和典型场景分析,帮助开发者根据需求选择合适的集合类型。原创 2025-09-07 00:15:43 · 1034 阅读 · 0 评论 -
【函数式编程】(六.plus)LINQ查询表达式 如何让我们的代码变得更加优雅?
本文探讨了C#中LINQ查询表达式与扩展方法式写法的差异与应用场景。查询表达式借鉴SQL语法风格,提供强大的查询能力,但其在代码中可能显得突兀。通过LanguageExt库示例,展示了查询表达式如何优雅处理单子流(嵌套bind),相比传统嵌套写法更简洁。文章对比了应用式与单子流的区别:应用式适合并行计算和错误收集,而单子流支持参数依赖且具备快速失败特性。最后指出二者在函数式编程中各有优势,应根据场景选择合适方法。原创 2025-07-24 10:41:14 · 978 阅读 · 0 评论 -
【函数式编程】六- 多参函数与应用式
本文探讨了函数式编程中处理多参函数的解决方案。首先介绍了柯里化和偏函数应用,将多元函数转化为一元函数序列。然后讲解了正向/反向函数应用的差异及反向应用在代码可读性和可维护性上的优势。重点阐述了应用式(Applicative)的概念,它允许在高级抽象层级中处理多参函数,解决了嵌套Map/Bind带来的复杂性。通过Either示例展示了应用式如何简化抽象层级的组合操作,并指出应用式介于函子(Functor)和单子(Monad)之间的特性。文章为处理多参函数提供了实用的函数式编程技巧。原创 2025-07-05 14:10:02 · 1067 阅读 · 0 评论 -
Microsoft Build 2025重点速览
在Microsoft Build 2025上,微软CEO纳德拉宣布,WSL(Windows Subsystem Linux),和Copilot Chat将开源利好开源界.jpg。原创 2025-06-11 20:46:34 · 873 阅读 · 0 评论
分享