LINQ は通常、outパラメーターをうまく処理しません。実行できますが、通常は回避することをお勧めします。パラメータを介してデータを渡すのではなく、ExtractNameAndAuthorsそのタイプのインスタンスを返すことができるように、タイトルと著者のリストを保持する新しいタイプを作成するのが最善です。
public class Book
{
public Book(string title, IList<string> authors)
{
Title = title;
Authors = authors;
}
public string Title{get;private set;}
public IList<string> Authors{get; private set;}
}
それを取得し、それに応じて変更しExtractNameAndAuthorsたら、次のことができます。
var lookup = lines.Select(line => ExtractNameAndAuthors(line))
.ToLookup(book => book.Title, book => book.Authors);