草庐IT

ienumerable

全部标签

c# - 简单的 IEnumerator 使用(附示例)

我很难记住如何(但不记得为什么)使用IEnumerator在C#中。我已经习惯了Java及其出色的文档,可以很好地向初学者解释所有内容。所以,请耐心等待。我尝试从这些板上的其他答案中学习但无济于事。与其问一个之前已经问过的一般性问题,我有一个具体的例子可以为我澄清一些事情。假设我有一个方法需要传递IEnumerable目的。该方法需要做的就是连接字母roxxors到每个String的结尾在迭代器中。然后它将返回这个新的迭代器(当然原始的IEnumerable对象保持原样)。我该怎么做?当然,除了我之外,这里的答案应该可以帮助许多人解决有关这些对象的基本问题。

c# - 简单的 IEnumerator 使用(附示例)

我很难记住如何(但不记得为什么)使用IEnumerator在C#中。我已经习惯了Java及其出色的文档,可以很好地向初学者解释所有内容。所以,请耐心等待。我尝试从这些板上的其他答案中学习但无济于事。与其问一个之前已经问过的一般性问题,我有一个具体的例子可以为我澄清一些事情。假设我有一个方法需要传递IEnumerable目的。该方法需要做的就是连接字母roxxors到每个String的结尾在迭代器中。然后它将返回这个新的迭代器(当然原始的IEnumerable对象保持原样)。我该怎么做?当然,除了我之外,这里的答案应该可以帮助许多人解决有关这些对象的基本问题。

c# - 为什么 IEnumerable<T>.ToList<T>() 返回 List<T> 而不是 IList<T>?

扩展方法ToList()返回List.按照相同的模式,ToDictionary()返回Dictionary.我很好奇为什么这些方法不将它们的返回值键入为IList和IDictionary分别。这似乎更奇怪,因为ToLookup将其返回值键入为接口(interface)而不是实际实现。使用dotPeek查看这些扩展方法的源代码或其他反编译器,我们看到以下实现(显示ToList()因为它更短):publicstaticListToList(thisIEnumerablesource){if(source==null)throwError.ArgumentNull("source");ret

c# - 为什么 IEnumerable<T>.ToList<T>() 返回 List<T> 而不是 IList<T>?

扩展方法ToList()返回List.按照相同的模式,ToDictionary()返回Dictionary.我很好奇为什么这些方法不将它们的返回值键入为IList和IDictionary分别。这似乎更奇怪,因为ToLookup将其返回值键入为接口(interface)而不是实际实现。使用dotPeek查看这些扩展方法的源代码或其他反编译器,我们看到以下实现(显示ToList()因为它更短):publicstaticListToList(thisIEnumerablesource){if(source==null)throwError.ArgumentNull("source");ret

c# - 将数组转换为 IEnumerable<T>

假设您有一个基本的Employee这样的类:classEmployee{publicstringName;publicintYears;publicstringDepartment;}然后(在一个单独的类中)我有以下代码片段(我想除了最后一个我都理解):我相信下面的代码片段是有效的,因为数组初始化器创建了一个Employee对象数组,这些对象的类型与分配给的workforce变量相同。Employee[]workforceOne=newEmployee[]{newEmployee(){Name="David",Years=0,Department="software"},newEmpl

c# - 将数组转换为 IEnumerable<T>

假设您有一个基本的Employee这样的类:classEmployee{publicstringName;publicintYears;publicstringDepartment;}然后(在一个单独的类中)我有以下代码片段(我想除了最后一个我都理解):我相信下面的代码片段是有效的,因为数组初始化器创建了一个Employee对象数组,这些对象的类型与分配给的workforce变量相同。Employee[]workforceOne=newEmployee[]{newEmployee(){Name="David",Years=0,Department="software"},newEmpl

c# - 如何对 IEnumerable<string> 进行排序

如何对IEnumerable进行排序按字母顺序排列。这可能吗?编辑:我将如何编写就地解决方案? 最佳答案 与您对任何其他可枚举对象进行排序的方式相同:varresult=myEnumerable.OrderBy(s=>s);或varresult=fromsinmyEnumerableorderbysselects;或(忽略大小写)varresult=myEnumerable.OrderBy(s=>s,StringComparer.CurrentCultureIgnoreCase);请注意,与LINQ一样,这会创建一个新的IEnume

c# - 如何对 IEnumerable<string> 进行排序

如何对IEnumerable进行排序按字母顺序排列。这可能吗?编辑:我将如何编写就地解决方案? 最佳答案 与您对任何其他可枚举对象进行排序的方式相同:varresult=myEnumerable.OrderBy(s=>s);或varresult=fromsinmyEnumerableorderbysselects;或(忽略大小写)varresult=myEnumerable.OrderBy(s=>s,StringComparer.CurrentCultureIgnoreCase);请注意,与LINQ一样,这会创建一个新的IEnume

c# - AsQueryable() 的目的是什么?

AsQueryable()的目的是为了让您可以将IEnumerable传递给可能需要IQueryable的方法,还是有一个将IEnumerable表示为IQueryable的有用理由?例如,它是否应该用于这样的情况:IEnumerableorders=orderRepo.GetAll();//Idon'twanttocreateanothermethodthatworksonIEnumerable,//soIconvertithere.CountOrders(orders.AsQueryable());publicstaticintCountOrders(IQueryableorder

c# - AsQueryable() 的目的是什么?

AsQueryable()的目的是为了让您可以将IEnumerable传递给可能需要IQueryable的方法,还是有一个将IEnumerable表示为IQueryable的有用理由?例如,它是否应该用于这样的情况:IEnumerableorders=orderRepo.GetAll();//Idon'twanttocreateanothermethodthatworksonIEnumerable,//soIconvertithere.CountOrders(orders.AsQueryable());publicstaticintCountOrders(IQueryableorder