摘要: 1、不要做出任何应用程序才需要考虑抉择策略,不能想当然的决定一些错误情形。具体的一个体现形式是什么异常都捕获。这不是类库的职责,因为无法掌握所有的调用者的使用情形,这些不确定性是委托、虚方法、接口等特性带来的。 一个直观的例子是调用者可能故意在委托中抛出异常以便在后面的逻辑中捕获它。 同时编写类库与 阅读全文
posted @ 2024-03-23 17:56 陈百川 阅读(47) 评论(0) 推荐(0)
摘要: 以交错数组byte[][]为例。 fixed无法固定byte[][],只能在编译时固定确定数量的变量。 交错数组byte[][]中的每一个byte[]可以采用GCHandle进行固定。 int n = 10; var arrays = new byte[n][]; var arrHandles = 阅读全文
posted @ 2023-08-08 15:51 陈百川 阅读(30) 评论(0) 推荐(0)
摘要: AAA 指的是 "Arrange, Act, Assert",这是一种通用的单元测试模式。 在测试方法中, 1、首先对测试对象进行准备(Arrange), 2、然后调用要测试的方法(Act), 3、最后检查预期结果(Assert)是否符合预期。 遵循 AAA 模式可以使测试方法更加清晰和易于阅读。 阅读全文
posted @ 2023-05-16 15:46 陈百川 阅读(57) 评论(0) 推荐(0)
摘要: 单元测试项目的目标框架 (TargetFramework或TargetFrameworks) 不能是standard2.0或standard2.1。 这是因为.NET Standard只是一个规范,它没有运行时,不能创建应用程序,只能创建库。 如果要测试面向standard2.0的项目,可以将单元测 阅读全文
posted @ 2023-05-11 17:49 陈百川 阅读(58) 评论(0) 推荐(0)
摘要: C# 类库中的 StreamWriter 类在释放时会同时关闭其所依赖的基础流对象,这是为了确保所有缓冲数据都被写入基础流中,并且在不再需要 StreamWriter 对象时,基础流对象也能够被及时释放和关闭。这种设计的初衷是为了方便开发者使用 StreamWriter,避免出现遗漏缓冲数据或不及时 阅读全文
posted @ 2023-05-06 16:20 陈百川 阅读(41) 评论(0) 推荐(0)
摘要: 基本概念: 什么是库: 在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 静态库:在程序链接的时候使用,链接器会将程序中使用的函数代码从库文件中拷贝到应用程序中。 一旦链接完成,在执行程序的时候就不需要静态库了。 由于每个 阅读全文
posted @ 2023-02-18 16:38 陈百川 阅读(67) 评论(0) 推荐(0)
摘要: 检查语法无误后,考虑是脚本文件换行符的问题。 vs创建的文件默认以CRLF(0D0A)换行。 然而对于换行,windows用CRLF(0D0A)表示,linux用LF(0A)表示。 切换脚本文件换行符为LF(0A)后运行成功,如在vs中更改: 需要注意的是,git的不同配置可能会使git忽略换行符的 阅读全文
posted @ 2022-12-30 17:49 陈百川 阅读(2187) 评论(0) 推荐(0)
摘要: 什么时候抛出异常?在一个方法无法完成它声明的行动时主动抛出、按照约定抛出特定异常(比如TaskCanceledException)。 C#中返回有限状态(包含错误码、布尔值)的方法避免按照约定抛出特定异常。 这种方法声明了什么?你给我任何输入,我返回确定的结果之一。 如果异常是可以解决的,那么在返回 阅读全文
posted @ 2022-11-19 11:00 陈百川 阅读(48) 评论(0) 推荐(0)
摘要: 源的路径: /etc/apt/sources.list 更换前备份一下: sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 打开文档,修改为国内镜像源,下面通过vi编辑,命令模式dd删除行、按a进入插入模式 :wq保存退出。 sudo 阅读全文
posted @ 2022-11-08 11:00 陈百川 阅读(51) 评论(0) 推荐(0)
摘要: 正常情况下被引用的对象改变,常量引用的值也跟着改变。i和j是同一个对象,所以是同步的: int i = 42; const int& j = i; i = 43; cout << j << endl; cout << i << endl; // i == j == 42; 但存在类型转换时,常量引用 阅读全文
posted @ 2022-09-01 20:11 陈百川 阅读(127) 评论(0) 推荐(0)