标签: ienumerable

从IEnumerable <T>中删除项目

我有2个IEnumerable集合.

IEnumerable<MyClass> objectsToExcept 
Run Code Online (Sandbox Code Playgroud)

IEnumerable<MyClass> allObjects.
Run Code Online (Sandbox Code Playgroud)

objectsToExcept可能包含来自的对象allObjects.

我需要从中删除allObjects对象objectsToExcept.例如:

foreach (var myClass in objectsToExcept)
{
allObjects.Remove(myClass);
}
Run Code Online (Sandbox Code Playgroud)

要么

allObject.Except(objectsToExcept)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.方法执行后的计数表示没有删除任何项目.

c# linq ienumerable

45
推荐指数
4
解决办法
8万
查看次数

获得随机子集合的最佳LINQ查询 - Shuffle

请建议一种最简单的方法,从具有'N'项的集合中获取计数'n'的随机混洗集合.其中n <= N

c# linq ienumerable observablecollection

44
推荐指数
4
解决办法
2万
查看次数

如何转到IEnumerable中的特定项目

我有IEnumerable,其中包含数字数据.

编辑 IEnumerable来自System.Collection.Ienumerable指令.

附上了Viual Studio的snapShot,包含数据的枚举:

alt text http://www.freeimagehosting.net/uploads/bd72c6c310.jpg

为了简要介绍上面的图像,eLevelData是IEnumerable变量,我有我的数据.

现在我想转到索引4或5的数据,但我不想使用foreach循环.请给我任何建议.

谢谢,

Subhen

.net c# silverlight ienumerable silverlight-3.0

44
推荐指数
2
解决办法
7万
查看次数

如何检查变量是否是某种IEnumerable

基本上我正在构建一个非常通用的T4模板,我需要它做的一件事就是打印variable.ToString().但是,我希望它通过它们来评估列表和foreach,而不是打印ListItem.ToString()My T4模板不知道variable提前的类型,这就是为什么这是如此通用.

但是我生成的当前代码如下所示:

if(variable!=null)
  if(variable is IEnumerable) //error here
    foreach(var item in variable)
      Write(item.ToString());
Run Code Online (Sandbox Code Playgroud)

我在标记行上遇到编译器错误"使用泛型类型System.Generic.Collections.IEnumerable需要一个类型参数"

我实际上并不关心它是什么类型,我只是想知道你是否可以通过变量进行预测.我应该使用什么代码?

c# generics ienumerable foreach

44
推荐指数
5
解决办法
3万
查看次数

使用LINQ过滤列表

我有一个项目对象列表:

IEnumerable<Project> projects
Run Code Online (Sandbox Code Playgroud)

一个工程类的所谓财产标签.这是一个int []

我有一个名为filteredTags的变量,它也是一个int [].

所以我要说我的过滤标签变量如下所示:

 int[] filteredTags = new int[]{1, 3};
Run Code Online (Sandbox Code Playgroud)

我想过滤我的列表(项目),只返回过滤器中列出的所有标签的项目(在这种情况下,至少标签1和标签属性中的标签 3 ).

我试图使用Where()和Contains(),但这似乎只有在我与单个值进行比较时才有效.我如何将列表与另一个列表进行比较,我需要匹配筛选列表中的所有项目?

c# linq tags collections ienumerable

44
推荐指数
1
解决办法
8万
查看次数

为什么Any()不能处理ac#null对象

在null对象上调用Any()时,它会在C#中抛出ArgumentNullException.如果对象为null,那么肯定没有'any',它应该返回false.

为什么C#以这种方式运行?

.net c# ienumerable object

44
推荐指数
4
解决办法
3万
查看次数

将IEnumerable <T>拆分为固定大小的块(返回IEnumerable <IEnumerable <T >>,其中内部序列具有固定长度)

我想把IEnumerable<T>它分成固定大小的块.

我有这个,但由于所有列表创建/复制,它似乎不优雅:

private static IEnumerable<IEnumerable<T>> Partition<T>(this IEnumerable<T> items, int partitionSize)
{
    List<T> partition = new List<T>(partitionSize);
    foreach (T item in items)
    {
        partition.Add(item);
        if (partition.Count == partitionSize)
        {
            yield return partition;
            partition = new List<T>(partitionSize);
        }
    }
    // Cope with items.Count % partitionSize != 0
    if (partition.Count > 0) yield return partition;
}
Run Code Online (Sandbox Code Playgroud)

有没有更惯用的东西?

编辑:虽然这已被标记为Divide数组的副本到子序列数组的数组,但它不是 - 该问题涉及拆分数组,而这是关于IEnumerable<T>.此外,该问题要求填充最后一个子序列.这两个问题密切相关,但并不相同.

c# linq ienumerable

44
推荐指数
5
解决办法
3万
查看次数

追加/连接两个IEnumerable序列

我有两套数据行.它们都是IEnumerable.我想将这两个列表追加/连接到一个列表中.我确信这是可行的.我不想做一个for循环,并注意到两个列表上有一个Union方法和一个Join方法.有任何想法吗?

c# ienumerable unions

43
推荐指数
1
解决办法
3万
查看次数

为什么.net中的数组只实现IEnumerable而不是IEnumerable <T>?

我正在实现自己的ArrayList类,当我意识到这一点时,我感到很惊讶

public System.Collections.Generic.IEnumerator<T> GetEnumerator() {
    return _array.GetEnumerator();
}
Run Code Online (Sandbox Code Playgroud)

没用.数组在.NET中不实现IEnumerator的原因是什么?

有没有解决方法?

谢谢

.net c# arrays ienumerable ienumerator

42
推荐指数
1
解决办法
3万
查看次数

IEnumerable和订单

我有一个关于这个问题顺序IEnumerable.

据我所知,迭代IEnumerable是伪代码可以用以下方式编写:

while (enumerable.HasNext())
{
    object obj = enumerable.Current;
    ...
}
Run Code Online (Sandbox Code Playgroud)

现在,假设,需要对已排序的集合进行操作.可以在这种情况下使用IEnumerable,还是尝试IList使用索引支持的其他方法(即)?

换句话说:合同是否IEnumerable一般对订单作出任何保证?

因此,IEnumerable对于保证排序的通用接口而言,这不是一个合适的方法.新的问题是什么接口或类应该用于带有顺序的不可变集合?ReadonlyCollectionIList?它们都包含Add()方法(甚至没有在前者中实现).

我自己的想法:IEnumerable不对订购提供任何保证.正确的实现可以在不同的枚举中以不同的顺序返回相同的元素(考虑SQL查询)

我知道LINQ First(),但如果IEnumerable不说一下它的排序,这个扩展是没用的.

.net c# collections ienumerable

42
推荐指数
3
解决办法
2万
查看次数