我正在寻找一种方法来将我的 Linq 查询的结果转换为 string[] 或 List 而无需通常的循环方法。如果您想知道“示例很好,但您真正想要做什么?” 我正在尝试做示例显示的内容;我有一个对象集合,我想要一个字符串数组或对象列表中包含的唯一 ID 列表。
我认为代码示例说明了一切。这是一个可以运行的完整程序。
using System.Collections.Generic;
using System.Linq;
class Program
{
    class DataModel
    {
        public DataModel(string id) { ID = id; }
        public string ID;
    }
    static void Main(string[] args)
    {
        var dummyData = new DataModel[]
        {
            new DataModel("1"),
            new DataModel("1"),
            new DataModel("2"),
            new DataModel("3"),
            new DataModel("3")
        };
        //  This works fine
        var uniqueIDs = 
            from model in dummyData
            group model by model.ID into grouped
            select grouped.Key;
        //  This is the part that bugs me, it's so inelegant...
        List<string> idStringList = new List<string>();
        foreach (var id in uniqueIDs)
            idStringList.Add(id);
    }
}