LINQ中的FirstOrDefault() and FirstOrDefault<string>()有什么区别?

有人可以给我一些简单的解释吗?

TypedDataSet ds= codeComponent.GetAllCode("test");
string status = (from s in ds.Codes
                 where s.Name == "hello"
                 select s.Remarks).FirstOrDefault();


TypedDataSet ds= codeComponent.GetAllCode("test");
string status = (from s in ds.Codes
                 where s.Name == "hello"
                 select s.Remarks).FirstOrDefault<string>();

最佳答案

没有语义上的差异;编译器能够从集合的类型推断出通用参数。只是语法糖可以使我们的生活更简单。

请注意,这并非特定于LINQ。规范定义了何时可以推断泛型参数以及何时不能推断泛型参数。

关于c# - LINQ中FirstOrDefault()和FirstOrDefault <string>()之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9405980/

10-12 04:47