Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从iGroup中删除元素_C#_Windows Runtime - Fatal编程技术网

C# 如何从iGroup中删除元素

C# 如何从iGroup中删除元素,c#,windows-runtime,C#,Windows Runtime,如何直接从iGroup中删除对象iGroup 目前我知道的唯一方法是在不使用concering元素的情况下生成新的iGroup,但我不喜欢这种方法,因为它会在我的应用程序中造成一些麻烦 有什么想法吗?没有,至少在一般情况下,没有办法改变I分组——即使你知道具体的类型,我也不相信.NET framework公开的任何实现允许改变分组 假设分组是某个查询的结果-因此,如果可能,请更改原始查询以排除您不感兴趣的值。我知道这是一个老问题,但希望这对其他人有所帮助。解决方法是将组强制转换为列表,然后使用列

如何直接从iGroup中删除对象
iGroup


目前我知道的唯一方法是在不使用concering元素的情况下生成新的iGroup,但我不喜欢这种方法,因为它会在我的应用程序中造成一些麻烦


有什么想法吗?

没有,至少在一般情况下,没有办法改变
I分组
——即使你知道具体的类型,我也不相信.NET framework公开的任何实现允许改变分组


假设分组是某个查询的结果-因此,如果可能,请更改原始查询以排除您不感兴趣的值。

我知道这是一个老问题,但希望这对其他人有所帮助。解决方法是将组强制转换为列表,然后使用列表中的值而不是组中的值

var groups = someList.GroupBy(x => x...);

foreach (var group in groups)
{
    var groupList = group.ToList();

   ...

    groupList.Remove(someItem);

    //Process the other code from groupList.
}

如果您在组中的属性上具有可测试条件(如示例中的null),则可以使用
选择
TakeWhile
进行强制转换:

var removedItemsList = group.Select(x => x.TakeWhile(t => t.someProperty != null));

这将返回一个
IEnumerable

“它在我的应用程序中造成了一些问题”是非常模糊的。请在你的问题中更具体一点-看,这肯定不会从“someList”中删除该项吗?仅从foreach中新生成的列表中。