随笔分类 -  编程黑箱

日常编程思考
摘要:结论: 当所需的精度由小数点右侧的位数决定时,decimal 类型是合适的。 此类数字通常用于财务应用程序、货币金额(例如 $1.00)、利率(例如 2.625%)等。 精确到只有一个小数用 decimal 类型处理会更准确:例如,0.1 可以由 decimal 实例精确表示,而没有精确表示 0.1 阅读全文
posted @ 2022-07-21 15:00 wzyandi 阅读(519) 评论(0) 推荐(0) 编辑
摘要:结论: 某些数据属于类内部私有的,请定义成私有字段。 某些数据允许其他类访问或者编辑,请定义成属性。 使用场景: 考虑使用字段: 1、请勿提供public或protected字段。 应提供用于访问字段的属性或方法,而不是将字段设为public或protected。 2、把永远不会更改的常量设置为co 阅读全文
posted @ 2022-07-21 14:46 wzyandi 阅读(72) 评论(0) 推荐(0) 编辑
摘要:结论: 当你确定或期望序列中至少包含一个元素时,使用.First()。 当数据源无法确定,你需要检查是否存在一个元素时,使用.FirstOrDefault()。所以如果无法确定是否能够得到结果时首选FirstOrDefault,处理默认值。 使用场景: 考虑使用First(),如果: 1、总是期望返 阅读全文
posted @ 2022-07-21 14:43 wzyandi 阅读(201) 评论(0) 推荐(0) 编辑
摘要:一、什么是扩展方法? 结论:向现有类型添加方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种静态方法,但可以像扩展类型上的实例方法一样进行调用。 使用场景:对于原始源不受控制、派生对象不合适或不可用,或者不应在功能适用范围之外公开功能的情况,扩展方法是一个不错的选择。 概 阅读全文
posted @ 2022-07-21 14:41 wzyandi 阅读(173) 评论(0) 推荐(0) 编辑
摘要:结论:如果你的类没有状态,仅为其方法存在那么可以创建一个静态类。譬如工具类Utilities。静态类是纯面向对象设计和简单性之间的折衷。 以下几点需要考虑: 1、静态类应该只用作框架的面向对象核心的支持类。 静态成员及其值属于类型本身,而不是对象。 2、不要将静态类视为杂项存储桶。 理想情况下,每个 阅读全文
posted @ 2022-07-21 14:31 wzyandi 阅读(203) 评论(0) 推荐(0) 编辑
摘要:结论:根据经验,框架中的大多数类型都应该是类。如果你无法判断何时该使用结构体那么请使用类至生命尽头。 在某些情况下,值类型的特征使其更适合使用结构体。 使用Struct场景:如果类型的实例很小并且通常存活时间很短,或者通常嵌入到其他对象中,那么可以考虑定义一个结构而不是类。 除非结构具有以下所有特征 阅读全文
posted @ 2022-07-21 14:28 wzyandi 阅读(435) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示