C#处理DateTime时的纯函数警告
示例
维基百科目前定义的纯函数如下:
给定相同的参数,该函数始终求值相同的结果值value(s)。函数结果值不能依赖于在程序执行进行时或在程序的不同执行之间可能改变的任何隐藏信息或状态,也不能依赖于来自I/O设备的任何外部输入。
结果评估不会引起任何语义上可观察到的副作用或输出,例如可变对象的突变或输出到I/O设备
作为开发人员,您需要了解纯方法,并且您会在很多领域中无意中发现这些方法。我已经看到很多初级开发人员正在使用DateTime类方法。其中许多都是纯净的,如果您不知道这些,可以感到惊讶。一个例子:
DateTime sample = new DateTime(2016, 12, 25);
sample.AddDays(1);
Console.WriteLine(sample.ToShortDateString());给出上面的示例,可以预期打印到控制台的结果为'26/12/2016',但实际上您的最终日期是相同的。这是因为AddDays是一种纯方法,不会影响原始日期。为了获得预期的输出,您必须将AddDays调用修改为以下内容:
sample = sample.AddDays(1);
热门推荐
10 英语祝福语宝宝文案简短
11 家庭新春聚餐祝福语简短
12 领证结婚搞笑祝福语简短
13 美女新人结婚祝福语简短
14 员工年中贺卡祝福语简短
15 结婚等待吃饭祝福语简短
16 欢天喜地盖新房祝福语简短
17 毕业祝福语贺词大全简短
18 酒店疫情祝福语大全简短