Tag: non nullable

C#中可空类型的替代方案

我正在编写处理一系列数字数据的算法,有时,系列中的值必须为空。 但是,由于此应用程序对性能至关重要,因此我避免使用可空类型。 我已经对这些算法进行了性能测试,专门比较了使用可空类型和非可空类型的性能,在最好的情况下,可空类型的速度慢了2倍,但往往差得多。 最常用的数据类型是double,目前所选的null替代是double.NaN。 但是我知道这不是NaN值的确切用途,所以我不确定这是否有任何问题,我无法预见,最佳做法是什么。 我有兴趣找出以下数据类型的最佳空替代品:double / float,decimal,DateTime,int / long(尽管其他数据类型非常受欢迎) 编辑:我想我需要澄清我对性能的要求。 数字数据的演出通过这些算法在几个小时的时间内处理。 因此,虽然例如10ms或20ms之间的差异通常是微不足道的,但在这种情况下它确实对所花费的时间产生了重大影响。

类型推断在对可空和非可空int的’join’调用中失败

在我的Linq中,我试图将内部联接设置为可以为空的字段。 员工和部门有关系,部门可能有EmployeeID或可能有null。 那么什么是我的连接,如果我只想要满足内连接的记录(没有结果为null EmployeeIDs): var result = from emp in employees join dept in departments on new { Source = emp.EmployeeID } equals new { Source = dept.EmployeeID }; 我得到一个例外: join子句中某个表达式的类型不正确。 在“加入”调用中类型推断失败。 谢谢

未分配的非可变变量(C#)的值

只是好奇。 如果你走的话: string myString; 它的值为null。 但是如果你去: int myInt; C#中此变量的值是多少? 谢谢 大卫