草庐IT

ienumerable

全部标签

c# - 处理可能的 IEnumerable 多重枚举警告

在我的代码中,我需要使用IEnumerable多次,导致ReSharper错误“PossiblemultipleenumerationofIEnumerable”。示例代码:publicListFoo(IEnumerableobjects){if(objects==null||!objects.Any())thrownewArgumentException();varfirstObject=objects.First();varlist=DoSomeThing(firstObject);varsecondList=DoSomeThingElse(objects);list.AddRan

c# - 将单个项目作为 IEnumerable<T> 传递

是否有一种通用的方法来传递类型为T的单个项目?到一个需要IEnumerable的方法范围?语言为C#,框架版本2.0。目前我正在使用辅助方法(它是.Net2.0,所以我有一大堆类似于LINQ的转换/投影辅助方法),但这看起来很愚蠢:publicstaticclassIEnumerableExt{//usage:IEnumerableExt.FromSingleItem(someObject);publicstaticIEnumerableFromSingleItem(Titem){yieldreturnitem;}}其他方法当然是创建并填充List或Array并传递它而不是IEnume

c# - 如何将项目添加到 IEnumerable<T> 集合?

我的问题如上标题。例如IEnumerableitems=newT[]{newT("msg")};items.ToList().Add(newT("msg2"));但毕竟里面只有一件元素。我们可以有一个类似items.Add(item)的方法吗?喜欢List? 最佳答案 你不能,因为IEnumerable不一定代表可以添加项目的集合。事实上,它根本不代表一个集合!例如:IEnumerableReadLines(){strings;do{s=Console.ReadLine();yieldreturns;}while(!string.I

c# - IEnumerable 与列表 - 使用什么?它们是如何工作的?

我对枚举器和LINQ的工作方式有一些疑问。考虑这两个简单的选择:Listsel=(fromanimalinAnimalsjoinraceinSpeciesonanimal.SpeciesKeyequalsrace.SpeciesKeyselectanimal).Distinct().ToList();或IEnumerablesel=(fromanimalinAnimalsjoinraceinSpeciesonanimal.SpeciesKeyequalsrace.SpeciesKeyselectanimal).Distinct();我更改了原始对象的名称,使它看起来更像一个通用示例。查

java - Java 8 Streams 是否与 .Net IEnumerable 相同?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion起初我认为JavaStreams必然与I/O相关,但它们看起来真的很像.Net中的IEnumerable接口(interface)。这样比较公平吗? 最佳答案 也许这是我在谷歌上为你找到的有趣的东西:流Java流(不要与InputStream和OutputStream混淆)与LINQ做的事情或多或少是一样的,只是并行处理镜像PLINQ。

c# - C# 中是否有与 IEnumerable<T> 等效的标准 C++?

或者如果T的Enumerator只是列出所有元素,那么使用vector是否安全? 最佳答案 C++中不需要它,原因如下:C#只支持动态多态。所以要创建一个可重用的算法,你需要一个所有迭代器都将实现的接口(interface)。那是IEnumerator,和IEnumerable是一个返回迭代器的工厂。另一方面,C++模板支持鸭子类型。这意味着您不需要通过接口(interface)约束泛型类型参数来访问成员-编译器将按名称查找模板的每个单独实例化的成员。C++容器和迭代器具有隐式接口(interface),相当于.NETIEnumer

c# - 具有 IEnumerable<ISomeInterface> 类型属性的 NewtonSoft.Json 序列化和反序列化类

我正在尝试移动一些代码以使用ASP.NETMVCWebAPI生成的Json数据而不是SOAPXml。我在序列化和反序列化以下类型的属性时遇到了问题:IEnumerable.这是一个简单的例子:publicinterfaceISample{intSampleId{get;set;}}publicclassSample:ISample{publicintSampleId{get;set;}}publicclassSampleGroup{publicintGroupId{get;set;}publicIEnumerableSamples{get;set;}}}我可以通过以下方式轻松序列化Sa

c# - 如何从 IronRuby 调用 C# IEnumerable

我有一个C#方法:publicstaticIEnumeratorgetPixels(Picturepicture){for(intx=0;x我可以在IronPython中调用它:forpixelingetPixels(pic):r,g,b=getRGB(pixel)gray=(r+g+b)/3setRGB(pixel,gray,gray,gray)但我不知道如何从IronRuby中调用它:Myro::getPixels(pic)do|pixel|r,g,b=Myro::getRGBpixelgray=(r+g+b)/3Myro::setRGB(pixel,gray,gray,gray)

c# - 如何将 IEnumerable 转换为 JSON?

我有一个方法可以返回一个包含1..n条记录的IEnumerable。如何将结果转换为JSON字符串?谢谢! 最佳答案 IEnumerablesequenceOfInts=newint[]{1,2,3};IEnumerablesequenceOfFoos=newFoo[]{newFoo(){Bar="A"},newFoo(){Bar="B"}};varserializer=newSystem.Web.Script.Serialization.JavaScriptSerializer();stringoutputOfInts=seria

c# - 如何将 IEnumerable 转换为 JSON?

我有一个方法可以返回一个包含1..n条记录的IEnumerable。如何将结果转换为JSON字符串?谢谢! 最佳答案 IEnumerablesequenceOfInts=newint[]{1,2,3};IEnumerablesequenceOfFoos=newFoo[]{newFoo(){Bar="A"},newFoo(){Bar="B"}};varserializer=newSystem.Web.Script.Serialization.JavaScriptSerializer();stringoutputOfInts=seria