如果对象成员是 C# 中的最小元素,则更新列表元素

Update List element if object member is the smallest element in C#

我有以下 class.

public class DataDescr
{
    public string name { get; set; }
    public double age{ get; set; }
}

我有以下列表,其中包含 DataDescr 类型的元素

List<DataDescr> data = new List<DataDescr>();

data.add(new DataDescr{ name = "Test_1", age = 20 });
data.add(new DataDescr{ name = "Test_2", age = 40 });
data.add(new DataDescr{ name = "Test_3", age = 10 });
data.add(new DataDescr{ name = "Test_4", age = 15 });

我的目标是更新列表中具有最低年龄值的元素的名称值。

我已经尝试了一些方法,但到目前为止没有任何效果。任何帮助将不胜感激。

var item = data.OrderBy(x => x.age).First();
item.name = "some name";

请试试这个。

var minAge = data.Min(x => x.Age);
data.Where(x => x.Age == minAge).ToList().ForEach(x => { x.Name = "NEW_VALUE"; });
var minAge = data.Min(a => a.age);
var dataWithMinAge = data.Where( a => a.age == minAge);
dataWithMinAge.Name = "Update to new value";