C#面向对象核心-继承

继承 继承主要实现重用代码,来节省开发时间。 1 继承基本概念 一个类B继承一个类A,被继承的类A称为 父类、基类、超类,继承的类B称为 子类、派生类。 子类会继承父类的所有成员 子类拥有父类的所有特征和行为 子类可以有自己的特征行为 C#中允许子类和父类存在同名的成员,但不建议使用 特点: 单根性 子…

C#中的Equals()和==

C#中的类型分为值类型(如int、double等)和引用类型(用关键字class修饰的类型),下面分别针对这两种情况进行说明。 值类型中的Equals()和== 对于值类型来说,因为其只在栈上存在,所以Equals()和==的行为一致,就是判断两个值类型的值是否相等。 引用类型中的Equals()和==…

C#面向对象核心-封装

封装 封装定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中",这个包就是类。在面向对象程序设计方法论中,封装可以防止对实现细节的访问。 1 类和对象 1.1 什么是类 具有相同特征、行为,是一类事物的抽象 类是对象的模板,通过类创建对象 1.2 类声明语法 //声明在namespace中 /*cl…

NET6关于包降级报错问题

前两天同事更新包后,发现相关的授权还没到位(没买这个版本),所以需要降级回原有版本。 本来我本地没有拉取最新时,编译是没问题的,但是更新后再修改回来,就有问题了。 Severity Code Description Project File Line Suppression StateError NU1…

一次对pool的误用导致的.net频繁gc的诊断分析

(最近有读者朋友表示,希望能加一些示意图来描述分析过程中用到的原理知识。好的,之后我会注意,谢谢这位读者) 背景 有位朋友找我,希望我能帮看一下他的一个service。从他的描述看,并没有资源方面的泄漏,程序目前也能正常工作。他是在用dotnet-counters moniter时发现gc2、也就是fu…

C#报”InvalidCastException”的原因以及解决办法

当在.NET应用程序中发生类型转换错误时,就会抛出 "InvalidCastException" 异常。它通常表示尝试将一种数据类型强制转换为另一种数据类型,但转换无效或不可实现。 下面是两个示例,展示了 "InvalidCastException" 异常出现的原因及可能的解决办法: 示例一:类型转换错…

C#报”IndexOutOfRangeException”的原因以及解决办法

.Net中的"IndexOutOfRangeException"异常是指访问的数组下标超出了其有效范围。这通常是因为访问了数组中的不存在的元素,或者是通过一个无效的下标来访问数组。下面是该异常的完整错误信息: System.IndexOutOfRangeException: Index was outs…

C#报”DuplicateNameException”的原因以及解决办法

原因 .Net报DuplicateNameException异常表示在数据集中发现了一个或多个名称重复的数据表或数据列。这个异常通常有两个主要的原因: 加载时重复:从外部数据源加载数据到数据集中时重复。 运行时重复:在对数据进行操作过程中,代码中在数据集中添加了表或数据列,导致名称重复。 当抛出这个异常…

C#报”ArgumentException”的原因以及解决办法

欢迎来到.Net报ArgumentException的原因和解决办法的讲解。 什么是ArgumentException 在C#/.Net中,ArgumentException是一个异常类。通常当方法的一个参数无效时会抛出。这通常是由于传递给方法的参数值无效,超出了允许的范围,类型不正确等原因。 常见的方…

C#报”COMException”的原因以及解决办法

COMException原因 COMException是.NET中的一种异常类型,通常在使用.NET与COM组件交互时抛出。其中COM是Component Object Model的缩写,是一种微软支持的二进制接口标准,在Windows操作系统中广泛应用。具体而言,COMException可能是由以下原…