12 2024 档案
摘要:垃圾回收的基本知识 - .NET | Microsoft Learn 非托管资源 CLR系统只能跟踪其生存周期,而不能决定如何释放资源 如:数据库连接,文件句柄、指针结果等 非托管资源需要手动释放 托管资源 栈资源 托管堆 GC主要应用与托管资源 从根对象遍历堆上分配的对象,不再被引用到的对象被判定
阅读全文
摘要:.NET 提供了执行异步操作的三种模式: 基于任务的异步模式 (TAP),该模式使用单一方法表示异步操作的开始和完成。TAP 是在 .NET Framework 4 中引入的。这是在 .NET 中进行异步编程的推荐方法。C# 中的async和await关键词以及 Visual Basic 中的Asy
阅读全文
摘要:进程和线程 进程是一种正在执行的程序。 操作系统使用进程来分隔正在执行的应用程序。 线程是操作系统向其分配处理器时间的基本单元。 每个线程具有计划优先级并维护系统用于保存线程执行暂停时线程上下文的一组结构。 线程上下文包含线程顺畅继续执行所需的全部信息,包括线程的一组 CPU 寄存器和堆栈。 多个线
阅读全文
摘要:C#中提供处理文件的类库集中在System和System.IO,所以在处理文件之前需要引入对应类库 Visual Studio提供nuget来安装对应的包 搜索System.IO并进行安装,安装前请先检查支持的版本 var folder = "d:\\testfolder"; var file =
阅读全文
摘要:泛型是为所存储或使用的一个或多个类型具有占位符(类型形参)的类、结构、接口和方法。泛型集合类可以将类型形参用作其存储的对象类型的占位符;类型形参呈现为其字段的类型和其方法的参数类型。 泛型方法可将其类型形参用作其返回值的类型或用作其形参之一的类型。 泛型的优点包括:代码的可重用性增加,类型安全性提高
阅读全文
摘要:关键字: struct:结构体 class:类 interface:接口 abstract:定义抽象类或抽象方法使用 sealed:密封类,不可继承的类 void:表示无返回值 抽象类(abstract class) 抽象类不能被实例化。抽象类的用途是提供一个可供多个派生类共享的通用基类定义。 例如
阅读全文
摘要:申明语句 关键字:var,const,ref var关键字申明变量时需要赋值,null值不能作为值赋给 const关键字申明的变量不能再进行赋值 ref关键字申明表示引用另一个变量,值的改变也跟随引用一起 详细可见: string greeting = "Hello"; int x = 1, y =
阅读全文
摘要:运算符 C# 提供了许多运算符。 其中许多都受到内置类型的支持,可用于对这些类型的值执行基本操作。 这些运算符包括以下组: 算术运算符 比较运算符 布尔逻辑运算符 位运算符和移位运算符 相等运算符 算数运算符 以下运算符堆数值类型进行算数运算: ++(增量)、--(减量)、+(加)、-(减)、*(乘
阅读全文
摘要:值类型和引用类型是c#类型的两个主要类别。他们都继承自System.Object。使用struct关键字定义的类型是值类型,使用class关键字定义的类型是引用类型。 它们的关系如下图: 值类型 基本数据类型:int, double, float, bool, char, byte, sbyte,
阅读全文
摘要:第一种方法: 当用MySQL Workbench进行数据库的批量更新时,执行一个语句会碰到以下错误提示: Error Code: 1175 You are using safe...without a WHERE that uses a KEY column 因为是MySQL Workbench的默
阅读全文