我在.NET Conf China 2024 等你!

.NET Conf China 2024 是一场面向开发人员的社区盛会,旨在庆祝 .NET 9 的发布,并回顾过去一年 .NET 在中国的发展成就。作为延续 .NET Conf 2024 的重要活动,本次峰会汇聚了来自中国各地区的技术社区、知名企业和开源组织的共同努力,是年度国内规模最大的 .NET 线上和线下会议。我们希望通过这次盛会,用中文传播 .NET 相关技术的知识和经验,促进技术交流与合作 。

日程信息:https://dotnetconf.cn/2024/schedule

票务链接:https://dotnetconf.cn/2024/#conference-tickets

国内文章

2024年各编程语言运行100万个并发任务需要多少内存?

https://www.cnblogs.com/InCerry/p/-/async-runtimes-benchmarks-2024

该文章比较了2024年不同编程语言在异步编程中的性能。作者通过相同的基准测试程序,分析了多种语言在协程方面的表现。Rust使用tokio和async_std进行测试,C#展示了async/await与NativeAOT的结合,NodeJS、Python、Go以及Java的虚拟线程也在考虑范围内。文章强调协程在执行暂停和恢复中的优势,适用于协作多任务操作。各语言的代码示例展示了具体实现,方便读者理解和比较。

.NET Core 线程池(ThreadPool)底层原理浅谈

https://www.cnblogs.com/lmy5215006/p/18566995

.NET Core线程池在.NET 6之前由C++实现,在.NET 6之后由C#实现,.NET 8.0.8版本有不同实现。文章描述了ThreadPool的结构和生产者、消费者模型,涉及多种队列如全局、高优先级和低优先级队列。文章提到,各种队列的作用如普通任务、定时任务等。代码实现中,低优先级队列仍在实验阶段,高优先级队列只供内部使用。消费者模型优先从本地队列取任务,否则从高优先级队列取任务。

《HelloGitHub》第 104 期

https://www.cnblogs.com/xueweihan/p/18573326

HelloGitHub 是一个分享 GitHub 上有趣和入门级开源项目的平台,旨在激发编程兴趣。它每月更新,涵盖多种编程语言,如 Python、Java、Go 等。本期介绍了多个项目,包括 C 语言的 deskhop 和 kyanos,C# 的 AvaloniaVisualBasic6 和 FileConverter,C++ 的 carla 和 PrismLauncher,Go 的 dpanel 和 go-blueprint,JavaScript 的 moodist 和 rot.js 等。这些项目涵盖双机共享、网络流量分析、文件签名、自动驾驶模拟、Minecraft 启动器、离线文档查询、Docker 管理等领域,展示了开源的多样性和实用性。

.NET9 - Swagger平替Scalar详解(四)

https://www.cnblogs.com/hugogoos/p/18571088

文章介绍了如何在Scalar中使用Swagger常用功能。通过代码示例展示文档版本说明和接口分类的实现,如使用Tags特性对接口进行分类。作者详细描述了如何通过编码设置接口描述和参数描述,例如通过EndpointSummary和EndpointDescription设置接口摘要和描述。同时,文章还介绍了如何处理枚举类型显示及其描述信息,使用JsonStringEnumConverter实现。这需要调整文档数据结构,涉及到OpenApi配置。文章内容丰富,注重代码实践。

记一次 .NET某hdp智能柜系统 卡死分析

https://www.cnblogs.com/huangxincheng/p/18575759

作者分享了近一个月的生活琐事,包括被狗咬、买房和孩子跳绳比赛,这些事情影响了他的专注和博客更新。他随后分析了一个.NET程序的卡顿问题,通过WinDbg检查发现主线程在等待垃圾回收(GC)完成,推测是其他线程挂起导致的。作者通过查看线程调用栈,发现是某个线程触发了垃圾回收的暂停,给出相关证据和思考过程。

使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试

https://www.cnblogs.com/Can-daydayup/p/18571240

BenchmarkDotNet是一个.NET开源的性能基准测试框架,支持C#、F#、Visual Basic等语言。本文介绍如何通过BenchmarkDotNet对三种哈希函数MD5、SHA256和SHA1进行基准测试。测试表明,SHA1的耗时最短,但性能不稳定;MD5耗时稍长,误差小,性能稳定;SHA256耗时最长,稳定性最好。BenchmarkDotNet还支持多种报告格式输出,包括Markdown、HTML和CSV等。该项目在GitHub上开源,致力于帮助开发者优化软件性能。

基于 .NET 的开源工作流引擎框架

https://www.cnblogs.com/1312mn/p/18566524

Elsa 是一个开源的 .NET 工作流引擎,用于轻松集成和执行复杂工作流。它支持 .NET 6 以上版本,具备高兼容性和集成能力。Elsa 提供丰富的活动库和强大的可视化设计器,支持多种持久化机制,简化了开发流程。该框架适用于长期、短期及定时工作流,可通过 C# 代码或可视化设计器来定义和管理工作流,极大提升了开发效率。

使用YARP来实现负载均衡

https://www.cnblogs.com/huangmingji/p/18568430

YARP 是一个利用 ASP.NET 和 .NET 构建的高性能反向代理库,支持 HTTP/2 及 gRPC,适合负载均衡和自定义路由。在 Windows、Linux 和 MacOS 上均可用。通过配置文件或后台配置进行管理,提供了可定制的缓存策略支持。

计算机概念——零拷贝

https://www.cnblogs.com/aoximin/p/18567619

本文介绍计算机系统中的零拷贝技术,强调通过减少多余的数据拷贝提高效率。零拷贝利用了DMA技术,让外部设备直接访问内存,而CPU不直接参与数据传输,从而提高系统性能。此外,内核空间和用户空间的划分保护系统安全,并通过内存映射实现高效的数据访问。文章还介绍了C#中的MemoryMappedFile类实现内存映射文件的应用,提高对文件内容的操作效率。

PasteEx:一款.NET开源的Windows快捷粘贴神器

https://www.cnblogs.com/Can-daydayup/p/18570923

PasteEx是一款.NET开源工具,提升Windows粘贴功能效率。它直接将剪贴板内容转为文件,支持多种文件格式和图像类型,并提供自定义文本扩展和快捷键操作。适用于Windows 7及以上系统,需.NET Framework 4.5.2或更高版本。项目开源,集成于C#/.NET精选项目中。

什么是.NET的强类型字符串(Strongly typed string)?

https://www.cnblogs.com/czwy/p/18576931

在.NET中,强类型字符串用于特定结构表示字符串数据,提供编译时检查、减少错误、提高可读性和维护性。相比枚举,强类型字符串具备更好的扩展性和约束性。枚举提供类型安全和编译时检查,但输入约束有限,易导致错误。强类型字符串使用不可变值类型,并覆写ToString()方法以返回字符串值。示例中描述了.NET中HashAlgorithmName类的实现,展示了强类型字符串的实际应用。

一个新的音乐管理软件--JxAudio

https://www.cnblogs.com/j4587698/p/18572570

JxAudio是一个基于.net core的音频管理系统,兼容Subsonic协议,支持音乐播放、上传、下载等。该系统支持Docker部署,适用于Windows、Linux、MacOS。其优势包括能够通过插件直接播放网盘音乐,尤其支持AList网盘,这样无需本地存储就可以管理音乐。JxAudio允许插件扩展,可以满足挂载OneDrive或在线修改MusicTag等需求。项目使用GPL3.0协议在Github开源。目前开发的官方客户端兼容Subsonic协议,用户可使用音流作为客户端。

.NET Core 异步(Async)底层原理浅谈

https://www.cnblogs.com/lmy5215006/p/18571532

多线程和异步是不同概念。异步适用于IO密集型场景,避免IO等待导致线程饥饿,不加速执行,仅不阻塞。多线程适用于CPU密集型任务,利用多核提高速度和并发,但过多同步降低效果。异步操作基于IO完成端口,即一种发布订阅模式队列,帮助解决异步IO问题。C#异步操作依赖此机制,尤其在ThreadPool内部实现中。通过源码可见,异步操作轮询获取IO数据并执行回调。

(系列十二)Vue3+.Net8实现用户登录(超详细登录文档)

https://www.cnblogs.com/cyzf/p/18560576

本文介绍了OverallAuth2.0项目的用户登录功能开发。此系统为权限和流程管理,适合新手和有经验的人。文章重点在于实现带认证的用户登录,包括登录失效处理和异常信息提示。后台接口编写是主要内容,涉及创建用户登录后的模型,以及SysUserRepository仓储的接口实现。作者建议读者结合系列前文,以便更好理解项目结构。

WinUI(WASDK)使用BotSharp框架开发多智能体桌面机器人管理助手(生图开关灯不在话下)

https://www.cnblogs.com/GreenShade/p/18570348

大语言模型展示出广泛应用潜力,特别是在智能助手方面。文章介绍使用WinUI和BotSharp开发多智能体桌面助手,强调LLMs的功能。涉及技术包括.NET、WinUI、BotSharp和OpenAI等。讨论了BotSharp的功能,如对话、图片生成、语音识别等。软件目前在开发中,已实现与大语言模型的互动,使用了阿里通义千问2.5和通义万相。文章还涵盖了LiteDB存储实现和OpenAI插件的改造,目标是实现功能兼容。最后,描述了UI开发和功能模块的代码实现。

一款.NET开源的Windows资源管理器标签页工具

https://www.cnblogs.com/Can-daydayup/p/18578536

QTTabBar是基于.NET开发的小工具,提供Windows资源管理器的多标签功能,类似IE 7、Firefox和Opera,提升工作效率。还支持文件夹预览及功能插件,如文件操作工具、树型目录和状态栏显示。安装需先配置Microsoft .NET Framework 3.5,然后下载并运行QTTabBar安装包。项目源代码和更多特性可在GitHub查看并支持。该项目已被列入优秀项目和框架精选,方便了解最新技术动态和最佳实践。

C#/.NET/.NET Core技术前沿周刊 | 第 14 期(2024年11.18-11.24)

https://www.cnblogs.com/Can-daydayup/p/18568583

这篇文章汇总了C#/.NET/.NET Core领域的最新技术文章和工具,如PasteEx提高粘贴效率、Umbraco CMS构建网站、.NET 9的新异步编程方法Task.WhenEach以及Visual Studio分析内存泄漏。这些内容帮助开发者跟进技术趋势,提高工作效率。文章还包括开源项目和学习资源的推荐,旨在支持个人和企业的技术进步。

.NET Conf China 2024 AI相关内容解析

https://www.cnblogs.com/shanyou/p/18579588

2024年中国.NET开发者峰会将在上海举行,主题为“智能、创新、开放”。大会聚焦人工智能和机器学习在.NET中的应用,涉及最新技术动态。大会由资深专家分享实践经验,包括生成式人工智能和多智能体系统的开发。微软产品团队探索GPT-4的应用,推动Semantic Kernel项目,为.NET提供统一AI调用接口。演讲涵盖自然语言编程、企业级AI应用开发等主题,强调AI整合、信息安全、智能体管理等挑战。Semantic Kernel适合构建企业AI底座,助力快速集成AI能力。会中展示了.NET与AI结合的创新应用,为开发者提供丰富灵感。

开源 - Ideal库 - Excel帮助类,TableHelper实现(二)

https://www.cnblogs.com/hugogoos/p/18577563

本文讲解了如何实现对象集合与DataTable的相互转换,提供了一系列方法供开发者使用。核心功能包括基于列名数组、列名-类型键值对、类生成表格,以及将表格转换为实体对象集合的方法。还包括对一维数组进行转换的方法和行列转置功能。其中,通过反射获取类的属性信息,将类转换为表格,并对属性交伙设置了特性值的处理。同时,提供了对应的单元测试来验证方法的正确性和稳定性。

c# is 和 as 浅看重制版

https://www.cnblogs.com/aoximin/p/18572890

本文探讨了C#中is和as运算符的用途及差异。is运算符用于在运行时判断对象的类型以避免异常,而as提供一种更高效的类型转换方式。文章通过代码示例演示了is和as的使用场景及其生成的IL代码。is只能检查继承关系,无法判断自定义转换。as相较于频繁使用is和转换显得更优,因其只检查一次类型。作者最终解释了选择as的性能考量,并详细分析is和as在编译后的表现与区别。

周末基于 .NET 9 + K8S 写了个 MockHttp

https://www.cnblogs.com/neverc/p/18568441

MockHTTP可以将现有HTTP请求转换为GET请求,通过设置cron实现定时调用,并使用自定义代码格式化数据,通知用户。用户可每天早上自动获取特定信息如博客文章及天气变化,并在下雨时收到提醒。利用.NET 9 BCL进行数据解析,包括XPath查询、JToken解析、Regex等。定制化代码应尽量减少内存占用,以适应应用容器化限制。

主题

Heroku 上的 .NET 支持

https://blog.heroku.com/dotnet-support-on-heroku

Heroku 上对 .NET 的官方支持现已作为测试版提供。

这使您可以轻松地从 heroku 命令创建 .NET 应用程序并将其部署到 Heroku。

介绍…Soba! - 开发者更新 - 2024 年 11 月 25 日 - 官方/开发更新 - VRChat 提问论坛

https://ask.vrchat.com/t/developer-update-25-november-2024/28125#p-58274-introducing-soba-4

宣布将引入 Soba 作为一种可在 VRChat 世界中使用的新编程机制(乌冬面)。

UdonSharp 是一种从 C# 到 Udon 的转译方法,而 Soba 是将 C# 程序编译为 CIL (MSIL) 并在 Soba VM 上运行的方法。

轻松评估 AI 应用程序的质量 - .NET 博客

https://devblogs.microsoft.com/dotnet/evaluate-the-quality-of-your-ai-applications-with-ease/

发布了用于评估 AI 输出的 Microsoft.Extensions.AI.Evaluation 预览版。

Microsoft.Extensions.AI.Evaluation 包括评估抽象、质量评估机制和报告以及运行它们的命令行工具。

使用 .NET 9 的新 NuGet 解析器显着加快包恢复速度 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-9-nuget-resolver/

在 .NET 9 中引入改进的 NuGet 包依赖项解析。

据说新算法产生了显着效果,将花费的时间从 16 分钟减少到 2 分钟。

2.8.22 版 · StackExchange/StackExchange.Redis

https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.8.22

StackExchange.Redis 2.8.22 已发布。

此版本修复了更改配置值时 IPv6 终结点的格式,并包括对 Azure 托管 Redis 的默认功能版本的支持。

释放记忆的力量:宣布语义内核的记忆包全面可用 |

https://devblogs.microsoft.com/semantic-kernel/unlocking-the-power-of-memory-announcing-general-availability-of-semantic-kernels-memory-packages/

语义内核记忆包现已普遍可用。

支持连接到各种矢量存储,例如 Azure AI Search 和 Cosmos DB,以及 Pinecone、Qdrant、MongoDB、Redis 和 SQLite。

文章、幻灯片等

C#活动日历

使用 Blazor Virtualize .Net 8 加速 + 内存压缩 - Qiita

https://qiita.com/masayahak/items/5ca1e43e9d0a5ea8fba2

了解如何在 Blazor 中使用 Virtualize 在查看大量数据时降低速度和内存使用量。

获取继承/实现 C# 中特定类型的 Type - Qiita

https://qiita.com/omt_teruki/items/731779b50a9a7f48f00a

关于如何表达继承/实现特定类型的类型的Type。

AI 驱动的见解:在 Visual Studio 中使用 GitHub Copilot 简化变量分析 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/ai-powered-insights-streamlined-variable-analysis-with-github-copilot-in-visual-studio/

了解 Visual Studio 上的 GitHub Copilot,它允许您分析变量以帮助您理解它们并接收代码修复建议。

我尝试将 COM 与 Native AOT 结合使用

https://zenn.dev/shinta0806/articles/native-aot-com

了解如何在使用 Native AOT 构建的应用程序中使用 COM。

直到C#没有经验的工程师加入后才赶上C#

https://zenn.dev/nexta_/articles/3d3560798ec1ff

这是一个在没有 C# 经验的情况下使用 C# 参与开发后,如何赶上以及偶然发现哪些点的故事。

2024 年 Avalonia UI:增长、挑战和未来之路

https://avaloniaui.net/blog/avalonia-ui-in-2024-growth-challenges-and-the-road-ahead

关于 Avalonia UI 2024 年的增长和挑战结果以及 2025 年的举措。

文章不仅谈论社区,还谈论企业的现状。

NET 9 BinaryFormatter 迁移路径

https://dev.to/karenpayneoregon/net-9-binaryformatter-migration-paths-4i5a

介绍 System.Text.Json、XML、MessagePack 和 protobuf 的实现作为 BinaryFormatter 的迁移目标。

初学者如何使用AttributeUsage详解

https://zenn.dev/sakaki_web/articles/ab36232d99aac1

属性解释属性的用法。

C# 13 功能:新增功能以及如何使用它

https://blog.elmah.io/c-13-features-whats-new-and-how-to-use-it/

引入 C# 13 中的新功能。

在 ASP.NET 中使用 Seq 和 ILogger 轻松进行日志记录管理

https://www.code4it.dev/blog/logging-with-ilogger-and-seq/

关于使用 Seq 对 ASP.NET Core 应用程序进行简单日志管理。

使用 GitHub Copilot 改变您的调试体验 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/transform-your-debugging-experience-with-github-copilot/

介绍 Visual Studio 的 GitHub Copilot,自动执行单元测试、调试计划、断点设置、变量分析和修正建议。

如果想限制并发执行的C#任务数量,可以通过稍微扩展TaskScheduler来实现 - Qiita

https://qiita.com/spc_ksudoh/items/c57e6e277a069eb15672

如何自定义TaskScheduler来控制并发Task执行的数量。

使用 Blazor 进行简单 JWT 身份验证/授权(使用 .Net 8 WebApi)- Qiita

https://qiita.com/masayahak/items/e54ff025d29b3caf85bc

了解如何在 Blazor Web 应用程序中实现 JWT 身份验证和授权。

减少 .NET 中的 AWS Lambda 冷启动

https://dev.to/aws-builders/reduce-aws-lambda-cold-starts-in-net-4kha

了解如何减少 AWS Lambda 上 .NET 应用程序的冷启动时间文章介绍了ReadyToRun、Native AOT等方法和结果。

Visual Studio 17.12 中的调试器和诊断更新 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/debugger-and-diagnostics-updates-in-visual-studio-17-12/

在 Visual Studio 2022 17.12 中引入调试器和诊断的新功能/更新。

  • 内联方法返回值显示
  • 导出断点组
  • 与 Copilot 一起研究变量
  • IEnumerable Visualizer 中的 IntelliSense
  • 随着时间的推移分析内存使用情况
  • Profiler 仪表直方图

我尝试用Raspberry Pi运行铁路模型(N轨) - Qiita

https://qiita.com/takeo-t/items/193a1d0985e8309f0165

关于在 Raspberry Pi 上运行 .NET 程序并创建控制 N Gauge 的机制。

弯曲 .NET - ReadLine 模式

https://nietras.com/2024/11/29/bendingdotnet-readline/

一种使用“is”作为代码模式以通过 TextReader.ReadLine 读取到末尾的技术。

.NET周刊【12月第1期 2024-12-01】的更多相关文章

  1. .NET周报【12月第1期 2022-12-08】

    国内文章 CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了? https://www.cnblogs.com/savorboard/p/cap-7-0.html) 今天,我们很高兴宣布 CAP ...

  2. .NET周报【12月第2期 2022-12-15】

    国内文章 九哥聊Kestrel网络编程第一章:开发一个Redis服务器 https://mp.weixin.qq.com/s/HJYnBE-7wbvkAYHxQaq3eQ 我和拥有多个.NET 千星开 ...

  3. .NET周报【12月第3期 2022-12-23】

    由于众所周知的原因,大佬们纷纷加入羊群,笔者也未能幸免,体验下来这绝对不是普通感冒的症状,身体不适,熬了几天,所以本周更新比较晚:另外精力有限,对于国际板块只有链接没有简介,十分抱歉! 在这个艰难时刻 ...

  4. .NET周报【12月第4期 2022-12-31】

    祝大家新年快乐! 国内文章 『 再看.NET7』数值类型 https://mp.weixin.qq.com/s/ctiBMPY6Hditk81AzHSRng 在C#中,有int16,用short来定义 ...

  5. 2017年12月17日 ASP.NET 12个表单元素&&简单控件/复合控件

    12个表单元素可以分为三大类 第一类:文本类 <input type = "text" /> //普通文本框 <input type = "passwo ...

  6. 36.React基础介绍——2019年12月24日

    2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...

  7. 2020年12月18号--21号 人工智能(深度学习DeepLearning)python、TensorFlow技术实战

    深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电脑测试) 一.培训方式 ...

  8. 深度学习DeepLearning技术实战(12月18日---21日)

    12月线上课程报名中 深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电 ...

  9. CCRD_TOC_2007年12月_总第13期

    中信国健临床通讯 2007年12月, 总第13期 ACR2007专辑 目 录   类风湿关节炎 1.        来自CORRONA的数据:TNF抑制剂停用后临床获益仍持续存在 Lee SJ, et ...

  10. Spring 5的最后一个特性版本5.3发布,4.3将于12月终止维护

    10月27日,Spring Framework团队宣布了5.3版本正式GA,Spring用户可以在repo.spring.io和Maven Central上获取到最新版本的依赖包. JDK的版本支持 ...

随机推荐

  1. 全面掌握 Jest:从零开始的测试指南(下篇)

    在上一篇测试指南中,我们介绍了Jest 的背景.如何初始化项目.常用的匹配器语法以及钩子函数的使用.这一篇篇将继续深入探讨 Jest 的高级特性,包括 Mock 函数.异步请求的处理.Mock 请求的 ...

  2. Spring —— 集合注入

    数组注入    List集合注入    set集合注入    Map集合注入    Properties集合注入   

  3. 让人眼前一亮的开源项目「GitHub 热点速览」

    时隔两周,我又带着让人眼前一亮的开源项目回来了! 告别数据线.蓝牙.WiFi 和网络,只需用手机的摄像头扫描一张动图条形码(需安装应用),就能在设备间传输文件的 libcimbar,一款无需联网和蓝牙 ...

  4. 我是如何开发一款支持IDEA、PyCharm、Android Sutdio 等JB全家桶的摸鱼插件的

    公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态. 个人博客:www.moonkite.cn 大家好,我是风筝 前些天做了一款支持 Jetbrains 大部分 IDE 的摸鱼插件- ...

  5. 自己动手,通过源码找回 Ant-Design-Blaozr 中 Tree 组件的搜索筛选效果

    最近更新一个Blazor server的项目,顺带把用到的Ant-Design-Blazor 升级到了最新的 0.14.4,结果发现之前在 0.8.4 版本中 Tree 组件的搜索显示效果变了,从仅显 ...

  6. linux安装SVN并设置SVN钩子

    linux安装SVN并设置SVN钩子 检查已安装版本 #检查是否安装了低版本的SVN rpm -qa subversion #卸载旧版本SVN yum rovesubversion 一.安装SVN y ...

  7. vue 中 slot 的使用方式,以及作用域插槽的用法

    分类:插槽又分为匿名插槽.具名插槽以及作用域插槽 : 匿名插槽,我们又可以叫它单个插槽或者默认插槽 因为组件标签中间是不允许写内容的,但是可以插入 插槽 :template 标签 : 插槽的使用方法 ...

  8. ribbon配置负载均衡策略

    ribbon的负载均衡策略 com.netflix.loadbalancer.RandomRule:从提供服务的实例中以随机的方式: com.netflix.loadbalancer.RoundRob ...

  9. Idea启动多服务时的Dashboard展示

    1.提换.idea/workspace.xml文件中的RunDashboard标签 <component name="RunDashboard"> <option ...

  10. Notepad--特色功能:拷贝另存为

    Notepad--特色功能:拷贝另存为 你是否纠结如下的使用场景: 正在编辑的文件,还没有想好,保存担心把原文件给覆盖了. 使用"另存为"后当前编辑界面的文档又变成新的文件了,可是 ...