通常のループメソッドを使用せずに、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);
}
}