草庐IT

$foreach

全部标签

c# - 如何获取 linq `ForEach` 语句以返回有关为每个列表对象进行的方法调用的数据?

我有一个linqForEach语句,它为列表中的每个Report对象调用一个方法。此方法为每次调用返回一组数据表,我想以某种方式获取返回的数据。我如何使用linqForEach而不是老派的foreach(varxinx's){...}来做到这一点?这是我的代码:Reports.ForEach(r=>r.LoadTableData(Event,Human,Animal,exData));如何取回LoadTableData返回的每个DataTable[]? 最佳答案 使用Select相反:vartables=Reports.Select

c# - 如何将 Foreach 语句转换为 linq 表达式?

如何将下面的foreach转换成linq表达式?varlist=newList();foreach(varidinids){list.Add(newBook{Id=id});} 最佳答案 这很简单:varlist=ids.Select(id=>newBook{Id=id}).ToList();或者如果您更喜欢查询语法:varlist=(fromidinidsselectnewBook{Id=id}).ToList();另请注意ToList()仅当您确实需要List时才有必要.否则,通常最好利用Linq的惰性求值能力,并允许Booko

c# - foreach 或 Repeater - 哪个更好?

我正在使用MVC在ASP.Net中构建一个网站,并且需要列出一组结果。以下两项都按照我的意愿工作,但我想知道哪个更快、更清洁和/或更好-或者是否完全是另一种选择更合适?备注:ViewData.Model类型为IEnumerable我需要显示比Name更多的属性-我已经裁剪了这个例子的代码。 最佳答案 foreach是ASP.NETMVC的方法。为什么?我个人避免任何遗留问题asp:xxx控件..因为它们可能存在与webforms模型一起存在的膨胀。其次,所有eventdelegates呢?你必须接线吗?你开始混合和匹配架构,IMO,

c# - 在 foreach 循环内的开关嵌套中使用 `continue` 关键字

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有下面的代码(实际上比你看到的要长得多!)foreach(SensorPairsensorin_sensorPairs){sensorByte=(byte)sensor.Sensor;if(!packet.Contains(sensorByte))continue;index=packet.IndexOf(sensorByte);byteCount=se

c# - IEnumerable foreach,对最后一个元素做一些不同的事情

我有一个IEnumerable.我想为集合中的每个项目做一件事,除了最后一个项目,我想对它做其他事情。我怎样才能整齐地编码呢?在伪代码中foreach(varitemincollection){if(final){g(item)}else{f(item)}}所以如果我的IEnumerable是Enumerable.Range(1,4)我会做f(1)f(2)f(3)g(4)。注意。如果我的IEnumerable恰好是长度1,我想要g(1)。我的IEnumerable碰巧有点糟糕,使Count()和遍历整个事情一样昂贵。 最佳答案 自从

C# Foreach XML 节点

我将二维坐标保存在结构类似于以下的XML文件中:540:672540:672我可以打开XML文件并通过XmlTextReader读取它,但我如何专门循环遍历坐标以检索时间属性和初始节点与最终节点之间的数据,格式类似于:stringinitial="540:672";stringfinal="540:672";inttime=78;新代码:我的新代码://ReadtheXMLfile.XDocumentxmlDoc=XDocument.Load("C:\\test.xml");foreach(varcoordinateinxmlDoc.Descendants("coordinate"))

c# - 'foreach' 循环的幕后发生了什么?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowdoforeachloopsworkinC#?我一直在互联网上搜索,但我无法找到关于C#中的foreach循环幕后真正发生的事情的任何答案。我知道这个问题与实际编码无关,但它困扰着我。我对OO编程特别是接口(interface)很陌生。我了解它们是契约(Contract),并且我了解IEnumerable和IEnumerator的工作原理-我认为是这样。我一直在MSDN上阅读这篇文章:IEnumerableInterface我了解一切是如何设置的。虽然在Main循环中我有点不清楚foreach如何知道遍

c# - 为什么要避免使用 foreach 迭代不可变值类型集合?

在编码标准文档中,我发现了这样的说法:Avoidusingforeachtoiterateoverimmutablevalue-typecollections.E.g.Stringarrays.为什么要避免这种情况? 最佳答案 你不应该回避它。您正在阅读的编码标准文档是在胡说八道。设法找到作者,请他解释。除此之外,string是一个引用类型,而数组总是可变的……老实说,这让我担心文档其余部分的质量。还有其他可疑的建议吗?(“不可变”可能指的是值类型而不是集合-事实上,它是模棱两可的是另一个令人担忧的迹象,IMO。)

c# - ForEach 修剪字符串数组中的字符串值

我只是想知道为什么这个ForEach不起作用并留下带有尾随空格的值。stringdays="Monday,Tuesday,Wednesday,Thursday,Friday";string[]m_days=days.Split(',');m_days.ToList().ForEach(d=>{d=d.Trim();});我知道还有其他方法可以做到这一点,所以我不需要在那里回答。 最佳答案 因为您没有重新分配修剪后的字符串。varlist=m_days.Split(',').Select(s=>s.Trim()).ToList();W

c# - 使用 Parallel ForEach 进行本地初始化如何工作?

我不确定Parallel.ForEach中本地init函数的使用,如msdn文章中所述:http://msdn.microsoft.com/en-us/library/dd997393.aspxParallel.ForEach(nums,//sourcecollection()=>0,//methodtoinitializethelocalvariable(j,loop,subtotal)=>//methodinvokedbythelooponeachiteration{subtotal+=nums[j];//modifylocalvariablereturnsubtotal;//va