0
コードの最適化中に、LINQでforeachサイクルを使用するメソッドが見つかりました。私はこのサイクルを使わずに使いたいです。どのように私はそれを変更することができますアドバイス?サイクルを使用しないLINQ
public IEnumerable<Tuple<string, string>> ListAllCoursesWithArea()
{
List<Tuple<string,string>> final = new List<Tuple<string, string>>();
Tuple<string, string> tmp;
var books = (
from temp in bookListLoader.LoadList()
group temp by new { temp.CourseCode } into g
select g.First()
).ToList();
foreach (BookListRecord i in books)
{
tmp = new Tuple<string, string>(i.CourseCode, i.Area);
final.Add(tmp);
}
return final;
}
私はこれを試してみましたが、それは私にエラーメッセージ "期待識別子" を与える:
public IEnumerable<Tuple<string, string>> ListAllCoursesWithArea()
{
var books = (
from temp in bookListLoader.LoadList()
group temp by new { temp.CourseCode } into g
select g.First().(new Tuple<g.CourseCode,g.Area>())
).ToList();
return books;
}
2つの選択肢を1つのselect-manyにフラット化する可能性があります。 – code4life
@ code4lifeおそらくはいですが、この場合、 'First()'を2回評価する必要があります。 –
いいえ、私はあなたが 'First()'からTupleを作成することができると思います。 – code4life