Tag: enumerable

跳过Enumerable#collect中的迭代

(1..4).collect do |x| next if x == 3 x + 1 end # => [2, 3, nil, 5] # desired => [2, 3, 5] 如果下next条件满足, collect放在数组中的nil ,而我想要做的是没有元素在返回的数组,如果条件满足。 这可能没有调用delete_if { |x| x == nil } delete_if { |x| x == nil }在返回的数组? (使用Ruby 1.8.7;我的代码摘要很抽象)

地图,每个和收集有什么区别?

在Ruby中, each , map和collect的function是否有区别?

IEnumerable没有Count方法

我有以下的方法: public bool IsValid { get { return (GetRuleViolations().Count() == 0); } } public IEnumerable<RuleViolation> GetRuleViolations(){ //code here } 为什么当我做.Count()上面是红色的下划线? 我得到了以下错误: 错误1'System.Collections.Generic.IEnumerable'不包含'Count'的定义,并且没有扩展方法'Count'接受types'System.Collections.Generic.IEnumerable'的第一个参数可以被发现(你是否错过了使用指令或程序集引用?)c:\ users \ a \ documents \ visual studio 2010 \ Projects \ NerdDinner \ NerdDinner \ Models \ Dinner.cs 15 47 NerdDinner

可枚举是什么意思?

我被引导到MDN的..在页面时,它说:“..在迭代对象的枚举属性。 然后我去了Enumerability和属性页面的所有权 ,它说:“可枚举的属性是那些可以通过for..in循环迭代的属性”。 字典定义枚举为可数,但我不能真正可视化的意思。 我可以得到一个枚举的例子吗?

可能访问哈希每个循环中的索引?

我可能错过了一些明显的东西,但是有没有一种方法可以访问每个循环中散列内部迭代的索引/计数? hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? }

IEnumerable和recursion使用收益率返回

我有一个IEnumerable<T>方法用于在WebForms页面中查找控件。 该方法是recursion的,我有一些问题返回我想要的types时yield returnrecursion调用的价值。 我的代码如下所示: public static IEnumerable<Control> GetDeepControlsByType<T>(this Control control) { foreach(Control c in control.Controls) { if (c is T) { yield return c; } if(c.Controls.Count > 0) { yield return c.GetDeepControlsByType<T>(); } } } 这当前抛出一个“不能转换expression式types”的错误。 但是,如果此方法返回typesIEnumerable<Object> ,则会生成代码,但输出中将返回错误的types。 有没有一种方法使用recursion,同时也使用recursion?

你如何findRuby的最小/最大值?

我想要做一些简单而直接的事情,比如min(5,10)或Math.max(4,7) 。 在Ruby中有这个function吗?

为什么Enumerable.All对于一个空序列返回true?

var strs = new Collection<string>(); bool b = strs.All(str => str == "ABC"); 代码创build一个空的string集合,然后尝试确定集合中的所有元素是否为“ABC”。 如果你运行它, b将是真实的。 但collections甚至没有任何元素,更不用说任何等于“ABC”的元素。 这是一个错误,还是有一个合理的解释?

AsEnumerable()对LINQ实体有什么影响?

阅读这里和这里的问题给了我一些洞察情况,似乎使用AsEnumerable是内存消耗。 有没有更好的方法来做到这一点LINQ和现在的做法,是出来的数据可靠吗? 删除AsEnumerable结果“本地序列不能用于除Contains运算符以外的查询运算符的LINQ to SQL实现”。 var results = from p in pollcards.AsEnumerable() join s in spoils.AsEnumerable() on new { Ocr = p.OCR, fileName = p.PrintFilename } equals new { Ocr = s.seq, fileName = s.inputFileName } where p.Version == null orderby s.fileOrdering, s.seq select new ReportSpoilsEntity { seq = s.seq, fileOrdering = s.fileOrdering, inputFileName = […]

在“foreach”循环中修改列表的最好方法是什么?

C#/ .NET 4.0中的一个新function是,您可以在foreach更改枚举而不会发生exception。 请参阅Paul Jackson的博客条目“并发的有意义的副作用:在枚举中删除项目”以获取有关此更改的信息。 什么是最好的方法来做到以下几点? foreach(var item in Enumerable) { foreach(var item2 in item.Enumerable) { item.Add(new item2) } } 通常我使用IList作为caching/缓冲直到foreach结束,但有没有更好的方法?