Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# Linq获取组的Max()值并将其分配给该组_C#_Linq_Collections_Grouping_Variable Assignment - Fatal编程技术网

C# Linq获取组的Max()值并将其分配给该组

C# Linq获取组的Max()值并将其分配给该组,c#,linq,collections,grouping,variable-assignment,C#,Linq,Collections,Grouping,Variable Assignment,这就是我所拥有和工作的 foreach (var group in groupCollection) { int maxValue = group.Max(x => { int value = 0; if (Int32.TryParse(x[index1].ToString(), out value)) return value;

这就是我所拥有和工作的

foreach (var group in groupCollection)
        {
            int maxValue = group.Max(x => {
                int value = 0;
                if (Int32.TryParse(x[index1].ToString(), out value))
                    return value;
                return value;
            }) ;
            foreach (var row in group)
            {
                row[index2] = maxValue;
            }
        }
但我想知道是否有一种方法可以简化这个过程: 下面的代码只分配每个列表已有的内容 不是最大值

groupCollection.ForEach(x => x.Max(y=> {
            int value = 0; 
            if(Int32.TryParse(y[index1].ToString(), out value))
                y[index2] = value;
            return value;
            }));
请记住,groupCollection是一个
列表

尝试以下方法:

groupCollection.ForEach(x => {
    int maxValue = x.Max(y =>
        Int32.TryParse(y[index1].ToString(), out var value) ? value : 0);
    x.ForEach(y => y[index2] = maxValue);
    });

是的,这很有效,非常感谢,我很欣赏你简化TryParse语句的方式,这让我了解了linq的强大功能,并解释了你如何使用“{}”来做多种事情。