using System;
using System.Collections.Generic;
using System.Linq;
public enum 金属种类 { 金, 银, 铜, 铁 }
public class 金属
{
public 金属种类 种类;
public float 重量;
public string 标识符; // 唯一标识符
public 金属(金属种类 种类, float 重量, string 标识符)
{
this.种类 = 种类;
this.重量 = 重量;
this.标识符 = 标识符;
}
}
class Program
{
static void Main()
{
List<金属> 金属列表 = new List<金属>
{
new 金属(金属种类.金, 10, "金1"),
new 金属(金属种类.金, 20, "金2"),
new 金属(金属种类.银, 15, "银1"),
new 金属(金属种类.铜, 5, "铜1"),
new 金属(金属种类.铜, 8, "铜2"),
new 金属(金属种类.铜, 7, "铜3"),
new 金属(金属种类.铁, 3, "铁1"),
new 金属(金属种类.铁, 4, "铁2"),
new 金属(金属种类.铁, 6, "铁3"),
new 金属(金属种类.铁, 2, "铁4")
};
// 找到所有铁的标识符
var 铁标识符 = 金属列表.Where(金属 => 金属.种类 == 金属种类.铁).Select(金属 => 金属.标识符).ToList();
// 找到最轻的铁的标识符
string 最轻的铁标识符 = 金属列表.Where(金属 => 铁标识符.Contains(金属.标识符)).OrderBy(金属 => 金属.重量).First().标识符;
// 删除最轻的铁
金属列表.RemoveAll(金属 => 金属.标识符 == 最轻的铁标识符);
// 输出结果
foreach (var 金属 in 金属列表)
{
Console.WriteLine($"种类: {金属.种类}, 重量: {金属.重量}, 标识符: {金属.标识符}");
}
}
}