这个循环可以使用简单的LINQ吗?

Ang*_*ore 1 c# linq

我有一个名为BG的课程,它有一个名为Name Code的属性.我实例化一个名为bgList的对象.现在我试图获取将其"Crop"属性设置为cropName的所有对象的代码.

我想将以下工作代码转换为linq但是因为我的生活无法做到这一点 - 我很确定我错过了一些东西:

    List<string> breedingGroupsAndRoles = new List<string>();
    for (int i = 0; i < bgList.Count; i++)
    {
        if (bgList[i].Crop == cropName)
            breedingGroupsAndRoles.Add(bgList.[i].Code);
    }
Run Code Online (Sandbox Code Playgroud)

我最接近的是这个,但它只给我第一个项目:

    breedingGroupsAndRoles.Add(bgrList.Find(c => c.Crop == cropName).Role);
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 13

List<string> breedingGroupsAndRoles = bgList
    .Where(bg => bg.Crop == cropName)
    .Select(bg => bg.Code)
    .ToList();
Run Code Online (Sandbox Code Playgroud)