C#
文章平均质量分 71
谢.锋
专注于分享最有价值的互联网技术干货、行业资讯、架构设计、前端、后端、微服务、中间件、算法等技术栈。
展开
-
使用 C# 训练大型语言模型和小型语言模型
训练大型语言模型 (LLM) 和小型语言模型 (SLM) 在人工智能和机器学习领域获得了巨大的关注。这些模型能够理解和生成类似人类的文本,具有从聊天机器人到高级数据分析的广泛应用。本文探讨了使用 C#(一种在企业环境中广泛使用的面向对象编程语言)训练这些模型的过程。通过利用 C#,开发人员可以将机器学习模型集成到现有系统中,在熟悉的框架内利用语言模型的强大功能。原创 2024-07-09 08:00:00 · 345 阅读 · 0 评论 -
NET 中的 12 个简单干净代码技巧
编写干净的代码对于可维护性、可读性和可扩展性至关重要。这里有 12 个简单的技巧可以帮助您在 .Net 中编写更干净的代码,每个技巧都附有好的和坏的代码片段。原创 2024-07-07 08:00:00 · 459 阅读 · 0 评论 -
C# 编程中互斥锁的使用
互斥锁是 C# 中使用的同步原语,用于控制多个线程或进程对共享资源的访问。其目的是确保在任何给定时间只有一个线程或进程可以获取互斥锁,从而提供互斥。可以使用互斥锁 (Mutex) 并享受其带来的好处。使用Xaml View测试所有情况。原创 2024-07-04 08:00:00 · 652 阅读 · 0 评论 -
学习在 C# 中使用 Lambda 运算符
Lambda 表达式是一种简洁的表示匿名方法(没有名称的方法)的方法。它使用 lambda 运算符 =>,可以读作“转到”。运算符的左侧指定输入参数(如果有),右侧包含表达式或语句块。原创 2024-07-03 08:00:00 · 326 阅读 · 0 评论 -
掌握 LINQ:C# .NET 中的 TakeWhile 和 SkipWhile
LINQ 中的 TakeWhile 和 SkipWhile 方法提供了一种有条件地处理序列的强大方法。它们允许您以声明方式表达复杂的逻辑,从而增强代码的可读性和可维护性。通过理解和利用这些方法,您可以轻松处理涉及数据过滤和操作的各种场景。原创 2024-07-03 08:00:00 · 478 阅读 · 0 评论 -
掌握 C# 中的空合并运算符
空值合并运算符 (??) 及其配套空值合并赋值运算符 (??=) 提供了强大而简洁的方法来处理 C# 中的空值。它们显著减少了空值检查所需的样板代码,并使您的代码更具可读性和可维护性。通过掌握这些运算符,您可以编写更简洁、更强大的 C# 代码来高效处理空值。原创 2024-07-02 08:00:00 · 477 阅读 · 0 评论 -
C# 中的并发和并行
并发性和并行性是提高应用程序性能和响应能力的强大工具。在 C# 中,这些概念通过异步编程和任务并行库得到很好的支持。通过利用这些技术,开发人员可以创建高效管理多个任务并有效利用系统资源的应用程序。此处提供的示例演示了在 C# 中实现并发性和并行性的基础知识,可作为更复杂和可扩展的应用程序的基础。原创 2024-07-02 08:00:00 · 443 阅读 · 0 评论 -
了解C# 中的集合(包括泛型和非泛型)
跨站点脚本 (XSS) 攻击是一种严重的安全威胁,恶意脚本会注入其他用户查看的网页中。本文演示了如何在 ASP.NET Core MVC 中构建一个简单的博客应用程序,同时使用内置安全功能和最佳实践来防止 XSS 攻击。原创 2024-06-30 08:00:00 · 421 阅读 · 0 评论 -
优化 C# 和 .NET Core Web API 中的 LINQ 查询
优化 LINQ 查询对于增强 .NET Core Web API 的性能和可扩展性至关重要。通过采用高效连接、选择性投影、使用 IQueryable 延迟执行以及最大限度地减少不必要的数据检索等策略,开发人员可以显著提高应用程序的响应能力和资源利用率。原创 2024-06-28 08:00:00 · 420 阅读 · 0 评论 -
堆栈与堆内存 - C#
探索 C# 编程中内存管理的细微差别,区分值类型和引用类型,理解动态和静态内存分配,评估访问效率......原创 2024-06-28 08:00:00 · 199 阅读 · 0 评论 -
OWIN(.NET 开放 Web 接口)的幕后故事
OWIN 是一种规范,它提供了 Web 服务器和 Web 应用程序之间解耦的规则。此外,它还有助于实现 Web 服务器和应用程序之间的模块化架构。其背后的理念已在许多其他 Web 技术环境中得到应用。OWIN 是一个强大的理念,它为 .NET 社区提供了传统 IIS 和 ASP.NET(旧)托管模型的替代方案,解决了它们的局限性。原创 2024-06-28 08:00:00 · 720 阅读 · 0 评论 -
50 个最佳 C# 面试问题和答案之41~50
C# 是最流行的编程语言之一,也是 .NET 开发的首选语言。如果您是一名 .NET 开发人员,参加 .NET 面试,您将被问到有关 C# 编程的问题。以下是针对初学者和专业 C# 开发人员的 50 个最佳 C# 面试问题和答案之41~50。原创 2024-06-27 08:00:00 · 749 阅读 · 0 评论 -
50 个最佳 C# 面试问题和答案之1~20
C# 是最流行的编程语言之一,也是 .NET 开发的首选语言。如果您是一名 .NET 开发人员,参加 .NET 面试,您将被问到有关 C# 编程的问题。以下是针对初学者和专业 C# 开发人员的 50 个最佳 C# 面试问题和答案之1~20。原创 2024-06-27 08:00:00 · 922 阅读 · 0 评论 -
C# 中的 Null:处理缺失值和可空类型
这是通过使用可空值类型实现的,可空值类型既可以保存基础类型的值,也可以被赋值为空。在这个例子中,myString 是一个字符串类型的变量,它被赋值为 null,表示它当前没有引用任何字符串对象。在 C# 中,null 是一个关键字,表示不引用任何对象的引用。要声明可空变量,可以使用可空类型语法,即在基础值类型后附加问号 (?以下是使用 int 的示例。在此示例中,nullableInt 是一个可空整数变量,它可以保存整数值或空值。当您需要表示数据库字段或可能存在或不存在值的其他情况时,可空类型特别有用。原创 2024-06-26 08:00:00 · 570 阅读 · 0 评论 -
C# 中的 StreamReader 和 StreamWriter 类
在这里插入代码片StreamReader 和 StreamWriter 位于 System.IO 命名空间中。当您想要读取或写入基于字符的数据时,这两个类都很有用。这两个类都处理 Unicode 字符。StreamReader 派生自抽象类“TextReader”,StreamWriter 派生自“TextWriter”。下表显示了 StreamWriter 类的一些成员。下表显示了 StreamReader 类的一些成员。原创 2024-06-25 09:11:28 · 1022 阅读 · 0 评论 -
C# .NET 8 SQL 批量插入 Dapper、BulkCopy 和表值参数
在 .NET 应用程序中处理大型数据集通常需要将数据高效地插入到 SQL Server 中。本文探讨了使用 C# 和 .NET 8 批量插入数据的三种流行技术:Dapper、SqlBulkCopy 和表值参数 (TVP)。我们将比较它们的性能、易用性和对不同场景的适用性。原创 2024-06-25 09:09:50 · 643 阅读 · 0 评论 -
如何通过示例将旧版 C# 转换为 C# 12
随着 C# 的不断发展,每个新版本都会引入强大的新功能,从而提高语言的功能和可读性。通过从旧版本的 C# 迁移到 C# 12,您可以获得更高效、更易于维护和更具表现力的代码。原创 2024-06-24 08:00:00 · 698 阅读 · 0 评论 -
C# 中不同类型的构造函数
在本文中,我们将学习 C# 中的构造函数和构造函数类型。C# 中有五种不同类型的构造函数。构造函数用于创建类的对象。原创 2024-06-24 08:00:00 · 406 阅读 · 0 评论 -
探索 C# 中的 LINQ:语法和类型
LINQ(语言集成查询)是 C# 中引入的一项功能,它提供了一种统一的方式来查询来自不同类型数据源(如集合、数组、XML、数据库等)的数据。LINQ 允许开发人员直接在 C# 代码中编写查询,从而更轻松地操作和转换数据。编写 LINQ 查询有两种主要语法。原创 2024-06-22 08:00:00 · 481 阅读 · 0 评论 -
C# 中的隐式和显式类型转换
当你需要转换值的类型时,可以使用类型转换。只有当你要转换的两种类型兼容时,才有可能。当你收到错误“无法隐式将一种类型转换为另一种类型”时,说明你转换的两种类型不兼容。此代码将导致上述错误。原创 2024-06-22 08:00:00 · 592 阅读 · 0 评论 -
学习 C# 中的 Action 和 Func 委托
在 C# 中,委托是一种强大的工具,它使方法能够作为参数传递。最常用的两种委托类型是 Action 和 Func。这些通用委托通过为常见场景提供内置类型来简化委托的使用。本文探讨 Action 和 Func 委托、它们的区别以及如何有效使用它们的实际示例。原创 2024-06-21 08:00:00 · 469 阅读 · 0 评论 -
在 C# 中对比KeyValuePair<TKey, TValue> 和 IDictionary<TKey, TValue>
C# 中的 KeyValuePair 和 IDictionary 具有独特的用途并表现出不同的特征。原创 2024-06-20 08:30:00 · 465 阅读 · 0 评论 -
NET Core C# 中的Action委托:语法、用法和示例
Action委托是一个内置的泛型委托类型。此委托使您的程序更具可读性和效率,因为您无需定义自定义委托,如以下示例所示。它在 System 命名空间下定义。它没有输出参数,输入参数最少为 1 个,最多为 16 个。Action委托通常用于具有 void 返回类型的方法,或根本不包含任何类型的值的方法。原创 2024-06-20 08:00:00 · 405 阅读 · 0 评论 -
单元测试的首要原则:C# 中质量代码的指南
单元测试是软件开发的一个基本方面,可确保代码质量和功能正确性。在编写有效单元测试的各种策略中,FIRST 原则脱颖而出,因为它们提供了全面而直接的指导方针。FIRST 是快速、独立、可重复、自我验证和及时的首字母缩写词,它描述了有效单元测试应遵循的五项核心法则。原创 2024-06-13 08:48:27 · 418 阅读 · 0 评论 -
使用 C# 学习面向对象编程:第 3 部分
在本课中,我们将详细讨论各种类型的属性。原创 2024-06-10 21:46:44 · 584 阅读 · 0 评论 -
使用 C# 学习面向对象编程:第 2 部分
属性在面向对象编程中起着至关重要的作用。它们允许我们从类外部访问类的私有变量。在类中使用私有变量是很好的。属性看起来像变量和方法的组合。属性有部分:“get 和 set”方法。get 方法应该返回变量,而 set 方法应该为其赋值。原创 2024-06-10 21:46:07 · 360 阅读 · 0 评论 -
使用 C# 学习面向对象编程:第 1 部分
C# 完全基于面向对象编程 (OOP)。首先,类是一组相似的方法和变量。在大多数情况下,类包含变量、方法等的定义。当您创建此类的实例时,它被称为对象。在此对象上,您可以使用定义的方法和变量。原创 2024-06-10 21:44:57 · 478 阅读 · 2 评论 -
OOP面试问题 - C#
最流行的 OOP面试问题和答案的列表。这些 OOPS 面试问题适用于初学者和专业 C# 开发人员。原创 2024-06-10 21:43:52 · 729 阅读 · 0 评论 -
C#中新的简洁语法[集合表达式]
C# 中的这些集合表达式和切片为开发人员开辟了一种初始化集合的一致方法。此代码简洁且易于维护。了解范围运算符对子字符串和数组操作大有帮助。一开始可能会有点令人困惑,但一旦你掌握了它,它就会比以往任何时候都更容易。原创 2024-06-06 11:41:07 · 843 阅读 · 0 评论 -
C# 中的并发背后的秘密
ThreadPool 是 C# 中并发编程的宝贵工具。它提供了一种方便而有效的线程管理方法,尤其是对于短暂的、受 CPU 限制的任务。通过了解 ThreadPool 的工作原理及其适当的用例,您可以创建结构良好且性能良好的 C# 应用程序。原创 2024-06-06 11:40:13 · 1091 阅读 · 0 评论 -
C# 中的同步 异步 阻塞 非阻塞 并发 并行编程
理解并有效利用同步、异步、阻塞、非阻塞、并发和并行编程范式对于现代软件开发至关重要。每种方法都有自己的优点和缺点,选择合适的方法取决于应用程序的特定要求和约束。通过利用这些技术的正确组合,开发人员可以创建高性能、可扩展且响应迅速的软件解决方案来解决现代代码问题。原创 2024-06-06 11:39:27 · 966 阅读 · 0 评论 -
掌握效率:使用 C# 编写优化代码的指南
在深入研究代码优化之前,了解特定于 C# 的性能注意事项至关重要。熟悉可能影响代码性能的概念,例如内存管理、垃圾收集和性能瓶颈。原创 2024-06-05 08:55:44 · 171 阅读 · 0 评论 -
了解 C# 中的静态变量和非静态变量
静态变量在类开始执行时初始化,而非静态变量在对象创建后初始化。非静态变量会根据对象创建的次数被初始化 n 次,但静态变量在生命周期内只会初始化一次。原创 2024-06-05 08:53:53 · 705 阅读 · 0 评论 -
静态关键字(static):实例化、用法和最佳实践
Static 是一个关键字,使得它在静态类首先被使用时仅在内部实例化一次。原创 2024-06-05 08:50:44 · 401 阅读 · 0 评论 -
通过示例了解 C# 委托的简单技巧
C# 中的委托提供了一种强大的机制来实现回调功能和事件处理。它们可以实现组件的解耦,从而实现模块化和灵活的代码。通过委托,开发人员可以创建可扩展且可维护的应用程序,从而轻松适应不断变化的需求。原创 2024-06-04 10:14:35 · 547 阅读 · 0 评论 -
通过 C# 中的命名参数增强代码清晰度
C# 9 的记录类型使组织数据和编写更好的代码变得容易。它们易于使用,提供公平的比较方法,并保护您的数据免受不必要的更改。无论您处理的是基本数据还是复杂数据,记录类型都是明智的选择。立即在您的 C# 项目中试用它们,看看它们如何让您的编码生活更轻松!原创 2024-06-04 10:12:22 · 390 阅读 · 0 评论 -
探索 C# 9 的记录类型(record)
C# 9 的记录类型使组织数据和编写更好的代码变得容易。它们易于使用,提供公平的比较方法,并保护您的数据免受不必要的更改。无论您处理的是基本数据还是复杂数据,记录类型都是明智的选择。立即在您的 C# 项目中试用它们,看看它们如何让您的编码生活更轻松!原创 2024-06-04 10:11:12 · 493 阅读 · 0 评论 -
如何在 C# 中轻松从 HTML 中提取纯文本
处理 HTML 内容通常需要提取纯文本以进行处理、分析或显示,而不会产生 HTML 标记的杂乱。在本博客中,我们将探索一种简单而有效的方法,即使用 C# 中的正则表达式 (Regex) 来剥离 HTML 标记并将 HTML 实体解码为纯文本。此技术在读取网页抓取内容、清理电子邮件格式或为机器学习预处理准备文本数据等场景中特别有用。原创 2024-06-03 10:40:42 · 409 阅读 · 0 评论 -
如何在十六进制字符串和数字类型之间进行转换?
在 C# 中,使用十六进制字符串和数字类型是一项常见要求,尤其是在处理低级编程、加密或通信协议时。在这些表示形式之间进行转换至关重要,幸运的是,C# 提供了直接的方法来有效地完成此任务。在本文中,我们将探讨如何在 C# 中将十六进制字符串转换为数字类型以及反之亦然。原创 2024-06-03 10:37:56 · 466 阅读 · 0 评论 -
如何在 C# 中使用可空类型
讨论了 Nullable 类型及其属性和方法。使用 Nullable 类型的主要优点是,我们可以使用此类型将 Null 值存储在数据库的列中。原创 2024-06-03 10:36:25 · 730 阅读 · 0 评论