ienumerable相关内容

返回 IEnumerable对比 IQueryable

返回 IQueryable 与返回 IEnumerable 之间有什么区别,什么时候应该优先于另一个? IQueryablecusts = 来自 db.Customers 中的 c其中 c.City == "";选择 c;IEnumerablecusts = 来自 db.Customers 中的 c其中 c.City == "";选择 c; 两者都将被推迟执行,何时应该优先于另一个? 解 ..
发布时间:2021-12-01 09:18:44 C#/.NET

IEnumerable 上的动态 LINQ OrderBy/IQueryable

我在动态 LINQ 的 VS2008 示例 中找到了一个示例,它允许您使用类似 SQL 的字符串(例如 OrderBy("Name, Age DESC")) 进行排序.不幸的是,包含的方法仅适用于 IQueryable.有没有办法在 IEnumerable 上获得这个功能? 解决方案 刚刚偶然发现这个老歌... 要在没有动态 LINQ 库的情况下执行此操作,您只需要如下代码.这涵盖了 ..
发布时间:2021-12-01 08:58:11 C#/.NET

Assert.AreEqual 如何确定两个通用 IEnumerables 之间的相等性?

我有一个单元测试来检查一个方法是否返回正确的IEnumerable.该方法使用 yield return 构建可枚举.它是可枚举的类如下: enum TokenType{数字,命令,算术,}内部类令牌{公共 TokenType 类型 { 获取;放;}公共字符串文本 { 获取;放;}public static bool operator == (Token lh, Token rh) { retu ..
发布时间:2021-11-30 11:23:39 C#/.NET

将 DataRowCollection 转换为 IEnumerable;

我想在 .NET 3.5 中做这样的事情.最快的方法是什么? IEnumerable收藏 =TypedDataSet.TypedTableBase.Rows as IEnumerable; 解决方案 假设您使用的是 .NET 4.0,它引入了协方差: //大概你的表是从 TypedTableBase 派生的某种类型,//其中 T 是派生自 DataRow 的自动生成类型.IEnumerab ..
发布时间:2021-11-26 10:13:32 C#/.NET

使用 IReadOnlyCollection而不是 IEnumerable<T>用于避免可能的多次枚举的参数

我的问题与这个有关,关于IEnumerable vsIReadOnlyCollection. 我也一直使用 IEnumerable 将集合公开为返回类型和参数,因为它受益于不可变和延迟执行. 但是,我越来越担心我的代码中必须枚举参数以避免 ReSharper 给出的可能的多重枚举警告的位置的激增.我理解为什么 ReSharper 建议这样做,并且我同意它建议的代码(如下)以确保封装(即 ..
发布时间:2021-11-24 09:34:58 C#/.NET

是否可以在 C# 中扩展数组?

我习惯于向 IEnumerable 等外部类添加方法.但是我们可以在 C# 中扩展数组吗? 我打算向数组添加一个方法,即使它是多维的,也可以将其转换为 IEnumerable. 与如何在C#中扩展数组 无关 解决方案 static class Extension{公共静态字符串扩展(此数组数组){return "是的,你可以";}}课程计划{静态无效主(字符串 [] args){ ..
发布时间:2021-11-18 03:31:26 C#/.NET

IEnumerable<电影>不包含 FirstOrDefaultAsync() 的定义

这是我的错误信息:“IEnumerable"不包含“FirstOrDefaultAsync"的定义,并且找不到接受“IEnumerable"类型的第一个参数的可访问扩展方法“FirstOrDefaultAsync"(您是否缺少 using 指令或程序集引用?) 我已执行以下操作,但错误仍然存​​在: 我没有忘记使用 await,根据这个链接:任务不包含“FirstOrDefault"的 ..
发布时间:2021-09-10 19:50:51 C#/.NET

ToList() 还是不 ToList()?

给定一个内存(不是 LINQ to SQL)类列表: ListmyItems =/*很多很多项目*/; 我使用 GroupBy() 语句分组: myItems.GroupBy(g => g.Ref) 然后立即在 foreach 循环中使用在“组"上调用 .ToList() 是否有任何区别,或者我应该只使用 IEnumerable. 完整的代码示例: 使用 ToList() L ..
发布时间:2021-06-15 19:32:20 C#/.NET

一次消耗一次IEnumerable

是否有可能编写一个使 IEnumerable 被多次使用但仅一次通过而又不将所有数据读入内存的高阶函数?[请参阅下面的“编辑"以澄清我要寻找的内容.] 例如,在下面的代码中,可枚举的是 mynums (我在上面标记了 .Trace(),以查看我们枚举了多少次).确定目标是否有大于5的数字以及所有数字的总和.处理两次可枚举的函数是 Both_TwoPass ,但是将其枚举两次.相反, Both ..
发布时间:2021-05-15 19:35:09 C#/.NET

在C#中对数组使用Contains()扩展方法

在IEnumerable上有一个Contains()扩展方法;在VB中,我可以执行以下操作: 如果New String(){"A","B"}.Contains("B")然后'...万一 在C#中这相当于什么? 解决方案 使用LINQ扩展方法,在C#中是相同的想法: using System.Linq;...if(new string [] {"A","B"}.Contains(" ..
发布时间:2021-05-15 19:35:05 C#/.NET

如何仅从列表中获取特定字段

我有一个IEnumerable的Lesson对象: IEnumerable过滤课程 我通过以下方法将其转换为列表: ToList(); 但是我希望返回的列表仅包含第一个属性 lessonid ,而不是所有的 Lesson 属性. 如何获取列表中特定属性的数据而不是对象? 解决方案 您可以先选择所需的值,如下所示: filteredLessons. ..
发布时间:2021-05-15 19:35:00 C#/.NET

3 IEnumerables成1个元组

我有3个IEnumerables整数,我想用它制作一个Tuple数组.最好的方法是什么?如果我只有2个IEnumerables,我会使用Zip,但是在这种情况下? 解决方案 在这种情况下,最直接使用迭代器而不是 foreach 的情况是最简单的: using(var i1 = seq1.GetEnumerator())使用(var i2 = seq2.GetEnumerator())使 ..
发布时间:2021-05-15 19:34:57 C#/.NET

是否应该避免IEnumerable的Count()?

通常,我使用的是 List ,然后在不再需要更新它们时以 IEnumerable 的形式返回它们. 但是,我遇到了一个问题,我实际上需要枚举它们,但首先需要知道计数. IEnumerable 会枚举每个项目并找到计数(O(N)),还是依赖于 List 的Count属性(O(1))? 此外,如果 IEnumerable 是LINQ查询的结果怎么办? 解决方案 IEnum ..
发布时间:2021-05-15 19:34:54 C#/.NET

仅打印I​​Enumerable中的奇数元素?

我遇到一个数组问题,例如想打印列表中的奇数. int []数字=新的int [] {5,4,1,3,9,8,6,7,2,0};Console.WriteLine(numbers.Where(n => n%2 == 1).ToArray()); ToString方法似乎不起作用?我不想遍历所有元素.我该怎么办? 解决方案 您需要调用 String.Join 来创建包含序列内容的字符串 ..
发布时间:2021-05-15 19:34:51 C#/.NET

将项目添加到IEnumerable

我有我的对象的List,但现在需要将其更改为IEnumerable.所以,我有这个: public IEnumerableTransactionSplitLines {get;放;} 但是,我不能再这样做: reply.TransactionSplitLines.Add(new TransactionSplitLine{Amount ..
发布时间:2021-05-15 19:34:48 C#/.NET