草庐IT

c# - 序列不包含任何元素错误,但我想检查是否为空

这个问题在这里已经有了答案:Whentouse.Firstandwhentouse.FirstOrDefaultwithLINQ?(14个答案)关闭去年。我有以下问题:publicBooleanExists(StringuserName){IRepository=newUserRepository();Useruser=userRepository.First(u=>u.Name==userName);if(user==null)returnfalse;//Exists!returntrue;}现在的问题是,我无法检查User对象是否为null。在我到达那里之前,我得到一个Invali

c# - 如何用 C# 中的函数语句替换 for 循环?

一位同事曾经说过,每次我写一个for循环时,上帝都在杀死一只小猫。当被问及如何避免for循环时,他的回答是使用函数式语言。但是,如果您受困于非函数式语言,比如C#,有哪些技术可以避免for循环或通过重构摆脱它们?也许使用lambda表达式和LINQ?如果是,怎么办?问题所以问题归结为:为什么for循环不好?或者,在什么情况下要避免for循环以及为什么?您能否提供C#代码示例,说明它之前的样子,即有循环和没有循环之后的样子? 最佳答案 在您对某些数据集进行操作并希望转换、过滤或聚合元素的情况下,函数结构通常比for循环更清楚地表达您的

c# - 如何用 C# 中的函数语句替换 for 循环?

一位同事曾经说过,每次我写一个for循环时,上帝都在杀死一只小猫。当被问及如何避免for循环时,他的回答是使用函数式语言。但是,如果您受困于非函数式语言,比如C#,有哪些技术可以避免for循环或通过重构摆脱它们?也许使用lambda表达式和LINQ?如果是,怎么办?问题所以问题归结为:为什么for循环不好?或者,在什么情况下要避免for循环以及为什么?您能否提供C#代码示例,说明它之前的样子,即有循环和没有循环之后的样子? 最佳答案 在您对某些数据集进行操作并希望转换、过滤或聚合元素的情况下,函数结构通常比for循环更清楚地表达您的

c# - 使用 Group By Linq 进行计数

我有一个看起来像这样的对象:Notice{stringName,stringAddress}在List中我想输出所有不同的名称以及特定名称在集合中出现的次数。例如:Notice1.Name="Travel"Notice2.Name="Travel"Notice3.Name="PTO"Notice4.Name="Direct"我要输出Travel-2PTO-1Direct-1我可以使用这段代码很好地获得不同的名称,但我似乎无法在1个linq语句中获得所有计数theNoticeNames=theData.Notices.Select(c=>c.ApplicationName).Distin

c# - 使用 Group By Linq 进行计数

我有一个看起来像这样的对象:Notice{stringName,stringAddress}在List中我想输出所有不同的名称以及特定名称在集合中出现的次数。例如:Notice1.Name="Travel"Notice2.Name="Travel"Notice3.Name="PTO"Notice4.Name="Direct"我要输出Travel-2PTO-1Direct-1我可以使用这段代码很好地获得不同的名称,但我似乎无法在1个linq语句中获得所有计数theNoticeNames=theData.Notices.Select(c=>c.ApplicationName).Distin

c# - 使用 LINQ 将列表转换为 CSV 字符串

我有一个整数列表,我希望能够将其转换为字符串,其中每个数字都用逗号分隔。到目前为止,如果我的列表是:12345我的预期输出是:1,2,3,4,5这可以使用LINQ吗?谢谢 最佳答案 在.NET2/3中varcsv=string.Join(",",list.Select(i=>i.ToString()).ToArray());或(在.NET4.0中)varcsv=string.Join(",",list); 关于c#-使用LINQ将列表转换为CSV字符串,我们在StackOverflow上

c# - 使用 LINQ 将列表转换为 CSV 字符串

我有一个整数列表,我希望能够将其转换为字符串,其中每个数字都用逗号分隔。到目前为止,如果我的列表是:12345我的预期输出是:1,2,3,4,5这可以使用LINQ吗?谢谢 最佳答案 在.NET2/3中varcsv=string.Join(",",list.Select(i=>i.ToString()).ToArray());或(在.NET4.0中)varcsv=string.Join(",",list); 关于c#-使用LINQ将列表转换为CSV字符串,我们在StackOverflow上

c# - 是否有用于获取字符串列表中最长字符串的 LINQ 函数?

是否有用于此的LINQ函数,或者必须像这样自己编写代码:staticstringGetLongestStringInList(){stringlongest=list[0];foreach(stringsinlist){if(s.Length>longest.Length){longest=s;}}returnlongest;} 最佳答案 这将只用一个循环迭代来完成:list.Aggregate("",(max,cur)=>max.Length>cur.Length?max:cur);

c# - 是否有用于获取字符串列表中最长字符串的 LINQ 函数?

是否有用于此的LINQ函数,或者必须像这样自己编写代码:staticstringGetLongestStringInList(){stringlongest=list[0];foreach(stringsinlist){if(s.Length>longest.Length){longest=s;}}returnlongest;} 最佳答案 这将只用一个循环迭代来完成:list.Aggregate("",(max,cur)=>max.Length>cur.Length?max:cur);

c# - 通用存储库 - IRepository<T> 或 IRepository

我见过两种不同的创建通用存储库的方法。这两种方法(优点和缺点)之间有什么区别?请忽略方法上的差异,因为我对之间的差异感兴趣publicinterfaceIRepositorywhereT:class和publicinterfaceIRepository:IDisposable在功能、灵active、单元测试……方面有什么区别吗?我会得到什么或失去什么?它们在依赖注入(inject)框架中的注册方式有什么不同吗?选项1publicinterfaceIRepositorywhereT:class{TGet(objectid);voidAttach(Tentity);IQueryableGe