![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 74
C#技术
jackfb2012
这个作者很懒,什么都没留下…
展开
-
一些使用 `DataSet` 的示例方法
在现有代码的基础上,您可以添加一些使用 `DataSet` 的方法,作为 `LocalDataAccess` 类的 helper 方法。- 这个方法演示了如何使用 `DataSet` 和 `DataAdapter` 更新数据库的数据。该方法使用 `SQLiteCommandBuilder` 自动生成 `INSERT`、`UPDATE` 和 `DELETE` 命令,并将 `DataSet` 中的更改提交到数据库。每个表的数据保存在 `DataSet` 的不同 `DataTable` 中。原创 2024-06-24 16:42:45 · 547 阅读 · 0 评论 -
关于表达式形式switch的例子
`static string GetDayType(DayOfWeek day) => day switch {...}`: 定义一个方法 `GetDayType`,它使用 `switch` 表达式来根据输入的 `day` 值返回一个字符串。- `static string GetSeason(int month) => month switch {...}`: 定义一个方法 `GetSeason`,它使用 `switch` 表达式来根据输入的 `month` 值返回一个字符串。原创 2024-06-26 10:18:31 · 650 阅读 · 0 评论 -
Exception 带个when怎么回事?
异常过滤器 (`when` 子句) 在性能上可能稍微优于传统的 `if` 检查,因为 `when` 子句在异常发生时会立即进行过滤,而不会进入 `catch` 块。- 第二个代码片段稍微冗长一些,因为它在 `catch` 块内部使用了 `if` 语句来检查条件,并在不满足条件时重新抛出异常。- 第二个代码片段的可读性稍差,因为它在 `catch` 块内部使用了 `if` 语句,并且需要重新抛出异常。- 第一个代码片段更简洁,因为它直接在 `catch` 语句中使用了 `when` 子句来过滤异常。原创 2024-06-26 10:29:46 · 394 阅读 · 0 评论 -
这个a?.XX()是什么?
如果对象为 `null`,则整个表达式的结果为 `null` 或 `default`,并且不会引发 `NullReferenceException`。如果 `person` 为 `null`,则 `name` 也为 `null`。- 将 `person` 赋值为一个新的 `Person` 对象,并再次使用空条件运算符访问 `Name` 属性和调用 `DisplayGreeting` 方法。- 定义一个 `Person` 类型的变量 `person` 并将其初始化为 `null`。### 示例运行结果。原创 2024-06-26 10:36:11 · 358 阅读 · 0 评论 -
一个简单的依赖注入容器的 优化版本
通过上述优化,我们提高了代码的类型安全性和灵活性,并且实现了单例的生命周期管理。同时,构造函数注入的方式使得代码更容易测试和维护。如果有更多复杂的需求,可以考虑引入生命周期管理、属性注入等高级功能,但这些优化已经展示了手动实现依赖注入的一些核心理念和最佳实践。原创 2024-06-21 17:45:49 · 122 阅读 · 0 评论 -
if(a is B{ bb : a})又是什么?
if (a is B { bb: a })` 的意思是检查对象 `a` 是否是类型 `B`,并且如果是,将其属性 `bb` 的值赋给变量 `a`。- 使用模式匹配检查 `obj` 是否是类型 `A`,如果是,则提取其 `aa` 属性值并赋给变量 `aaValue`。- 使用模式匹配检查 `obj` 是否是类型 `B`,如果是,则提取其 `bb` 属性值并赋给变量 `bbValue`。- 创建两个对象 `obj1` 和 `obj2`,分别为类型 `A` 和 `B` 的实例。### 示例运行结果。原创 2024-06-26 10:42:53 · 281 阅读 · 0 评论