草庐IT

lambda表达式

全部标签

c# - 在 Lambda/LINQ 中组合列表

如果我有IEnumerable>类型的变量是否有LINQ语句或lambda表达式我可以应用于它,它将组合返回IEnumerable的列表? 最佳答案 SelectMany-即IEnumerable>someList=...;IEnumerableall=someList.SelectMany(x=>x);对于someList中的每个项目,这然后使用lambda“x=>x”为内部项目获取IEnumerable。在这种情况下,每个“x”都是一个List,它已经是IEnumerable。然后将这些作为连续block返回。本质上,Selec

c# - LINQ to Entities Group By 表达式给出 'Anonymous type projection initializer should be simple name or member access expression'

我在这个表达式中遇到了上述错误:varaggregate=fromtinentities.TraceLinesjoinminentities.MethodNames.Where("it.NameLIKE@searchTerm",newObjectParameter("searchTerm",searchTerm))ont.MethodHashequalsm.MethodHashwhere(t.CallTypeId&(int)types)==t.CallTypeId&&t.UserSessionProcessId==m_SessionIdgrouptbym.Nameintodselect

c# - 表达式 Lambda 与语句 Lambda

从根本上说,单行表达式lambda和语句lambda之间有什么区别吗?以下面的代码为例:privatedelegatevoidMyDelegate();protectedstaticvoidMain(){MyDelegatemyDelegate1=()=>Console.WriteLine("Test1");MyDelegatemyDelegate2=()=>{Console.WriteLine("Test2");};myDelegate1();myDelegate2();Console.ReadKey();}虽然我更喜欢第一个,因为我发现括号很难看,但两者之间有什么不同吗(除了关于多

c# - LINQ to Entities 无法识别方法 'Int32 Int32(System.String)' 方法,并且无法将此方法翻译成存储表达式

我正在尝试使用LinqtoEntities查询数据库上下文,但出现此错误:LINQtoEntitiesdoesnotrecognizethemethod'Int32Int32(System.String)'method,andthismethodcannotbetranslatedintoastoreexpression.`代码:publicIEnumerableGetCourseName(){varcourse=fromoinentities.UniversityCoursesselectnewCourseNames{CourseID=Convert.ToInt32(o.Course

c# - 如何使用带有 lambda 语法的 LINQ 创建匿名类型?

我有一个使用lambda语法的LINQ查询:varquery=books.Where(book=>book.Length>10).OrderBy(book=>book.Length)我想创建一个匿名类型来存储投影,类似于:varquery=frombookinbookswherebook.Length>10orderbybookselectnew{Book=book.ToUpper()};如何在lambda语法中“选择新的”?谢谢,斯科特 最佳答案 像这样:varquery=books.Where(book=>book.Length

C# 简单正则表达式 - 32 个字符,仅包含 0-9 和 a-f (GUID)

如果出现以下情况,如何在C#中使用正则表达式进行测试:字符串的长度正好是32字符串只包含0-9的数字和a-f的小写字母 最佳答案 怎么样:Regexregex=newRegex("^[0-9a-f]{32}$");if(regex.IsMatch(text))... 关于C#简单正则表达式-32个字符,仅包含0-9和a-f(GUID),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

c# - 无效的正则表达式模式

我在C#中有一段代码用于检查值是否为有效的正则表达式模式。代码很简单:try{System.Text.RegularExpressions.Regex.IsMatch("",pattern);}catch(Exceptionex){return"patternmatchesmustbeavalidregexvalue";}我正在尝试测试它是否正常工作,但我找不到无效的正则表达式模式。有什么建议吗? 最佳答案 这是无效的...[您还可以在http://regexhero.net/tester/实时测试正则表达式的有效性。顺便说一句,您

c# - LINQ 表达式中的异常处理

我有一个简单的LINQ表达式,例如:newDocs=(fromdocinallDocswhereGetDocument(doc.Key)!=nullselectdoc).ToList();问题是,GetDocument()可能会抛出异常。如何忽略所有GetDocument(doc.Key)==null或抛出异常的文档元素?旧学校的相同代码如下:foreach(vardocinallDocs){try{if(GetDocument(doc.Key)!=null)newDocs.Add(doc);}catch(Exception){//Donothing...}}

c# - 如何获取正则表达式来检查字符串是否仅包含字母字符 [a-z] 或 [A-Z]?

我正在尝试创建一个正则表达式来验证给定的字符串是否仅包含字母字符a-z或A-Z。该字符串最长可达25个字母。(我不确定正则表达式是否可以检查字符串的长度)例子:1."abcdef"=true;2."a2bdef"=false;3."333"=false;4."j"=true;5."aaaaaaaaaaaaaaaaaaaaaaaaaaa"=false;//26个字母这是我目前所拥有的...尽管无法弄清楚它有什么问题正则表达式alphaPattern=newRegex("[^a-z]|[^A-Z]");我认为这意味着字符串只能包含a-z中的大写或小写字母,但是当我将它与包含所有字母的字符串

c# - 有人可以为我分解这个 lambda 表达式吗?

我正在查看来自TokenReplacementandIdentification的解决方案:stringresult=Regex.Replace(text,@"\[%RC:(\d+)%\]",match=>dict[int.Parse(match.Groups[1].Value)]);而且我不明白MatchEvaluator是如何重载的。我理解一些lambda表达式。它接受输入match然后从字典中查找一个整数?但是match的值从何而来?match=>dict[int.Parse(match.Groups[1].Value)]);返回的值去哪里了?编辑:你们中的一些人提到了Deleg