代码改变世界

随笔档案-2025年2月10日

为什么下面-11.5,执行之后是-12呢。 Math.Round(11.5)=12 Math.Round(-11.5)=-12

2025-02-10 16:41 by 钟铧若岩, 5 阅读, 收藏, 编辑
摘要: 在 C# 中,Math.Round 方法有多个重载版本,其舍入行为取决于你使用的具体重载以及所采用的舍入模式。当出现 Math.Round(11.5) 结果为 12,Math.Round(-11.5) 结果为 -12 的情况,这与 Math.Round 默认使用的舍入模式有关,下面为你详细解释: 舍 阅读全文

什么是应用程序域,一个进程内可以有多个应用程序域不?

2025-02-10 16:33 by 钟铧若岩, 20 阅读, 收藏, 编辑
摘要: 应用程序域的定义 应用程序域(Application Domain,简称 AppDomain)是 .NET 运行时环境提供的一种隔离机制,它为应用程序提供了一个独立的执行环境。可以把应用程序域看作是进程中的一个逻辑分区,每个应用程序域就像是一个轻量级的进程,它可以在同一个操作系统进程内独立地加载、执 阅读全文

请描述一下什么叫C#扩展方法,并举一个例子

2025-02-10 16:28 by 钟铧若岩, 16 阅读, 收藏, 编辑
摘要: C# 扩展方法的定义 C# 扩展方法允许你在不修改现有类型的源代码的情况下,为该类型添加新的方法。它是一种特殊的静态方法,但可以像实例方法一样调用。扩展方法为现有的类型(包括 .NET 框架中的内置类型、自定义类型等)添加功能提供了一种便捷的方式,同时又不会破坏类型的封装性和原有结构。 扩展方法的使 阅读全文

C#中索引器的实现过程

2025-02-10 16:23 by 钟铧若岩, 14 阅读, 收藏, 编辑
摘要: 在 C# 中,索引器是一种特殊的属性,它允许对象像数组一样通过索引来访问其元素。下面为你详细介绍索引器的实现过程以及索引类型的相关情况。 索引器的实现过程 1. 基本语法 索引器使用 this 关键字定义,并且需要指定索引的类型和返回值类型。以下是一个简单的索引器实现示例,该示例创建了一个自定义的字 阅读全文

C#实现多态的过程中 overload 重载 与override 重写的区别

2025-02-10 16:17 by 钟铧若岩, 8 阅读, 收藏, 编辑
摘要: 在 C# 实现多态的过程中,overload(重载)和 override(重写)是两种不同的机制,它们有明显的区别,下面从定义、语法、调用时机、应用场景等方面详细阐述: 定义与语法 重载(Overload) 定义:方法重载是指在同一个类中,允许存在多个同名的方法,但这些方法的参数列表必须不同(参数的 阅读全文

请举一个C# func与action的例子

2025-02-10 16:12 by 钟铧若岩, 9 阅读, 收藏, 编辑
摘要: 在 C# 中,Func 和 Action 都是委托类型,它们简化了委托的使用,能让你更方便地将方法作为参数传递。下面分别介绍它们的使用场景并给出示例。 Action 委托 Action 委托用于封装不返回值(即返回类型为 void)的方法。它有多个重载版本,最多可以接受 16 个输入参数。 示例代码 阅读全文

什么是匿名类,有什么好处,请用C#举一个例子

2025-02-10 16:03 by 钟铧若岩, 13 阅读, 收藏, 编辑
摘要: 匿名类的定义 在 C# 中,匿名类是一种无需显式定义类型名称的类。它允许你在需要创建一个简单的数据容器时,快速定义并实例化一个类,而不必事先声明一个正式的类类型。匿名类通常使用 new 关键字和对象初始化器来创建,编译器会根据初始化器中的属性自动推断出匿名类的结构。 匿名类的好处 代码简洁性:当你只 阅读全文

c#中堆与栈的区别

2025-02-10 14:50 by 钟铧若岩, 8 阅读, 收藏, 编辑
摘要: 在 C# 中,堆(Heap)和栈(Stack)是内存管理的两种重要方式,它们在内存分配、数据存储、生命周期和性能等方面存在显著区别,以下是详细介绍: 1. 内存分配方式 栈 栈内存由操作系统自动进行分配和释放。当一个方法被调用时,系统会为该方法的局部变量、参数等在栈上分配内存空间;当方法执行结束后, 阅读全文
点击右上角即可分享
微信分享提示