linqを使ってリンクリストのノード値を更新したいと思います。リストをトラバースして、正しいノードを見つけ、値を更新することはできますが、linqメソッドがより洗練されたものになると思います。任意の助けlinqを使ってリンクリストのノード値を更新するには
// get IV value where Node BookID=4
var val = Globals.BookLL.Where(B => B.BookID == 4).Select(B => B.IV).Single();
// can update first node using this method
Globals.BookLL.First.Value.IV = 999;
// can upddate IV by traversing list
LinkedListNode<Globals.Node> Current = Globals.BookLL.First;
while (Current != null)
{
if(Current.Value.BookID==4)
{
Current.Value.IV = 444;
}
Current = Current.Next;
}
// how can you update IV using linq?
Globals.BookLL.Find(B => B.BookID == 4).Value.IV = 999; // cannot convert lambda expression to type <Main.Globals.Node> because it is not a delegate type
ありがとう:
これはコンパイルエラーcannot convert lambda expression to type <Main.Globals.Node> because it is not a delegate type
を与える私の試みです。
ifuは 'First'を呼び出します:' Globals.BookLL.First() ' –