> メソッド側で引数となるLopItemの型を指定したい。 案1) メソッド引数を dynamic にして、匿名型をそのまま渡す foreach (var LopItem in doc.QuerySelectorAll(".news_list>li").Select((Value, Index) => new { Value, Index })) { Foo1(LopItem) } void Foo1(dynamic lopItem) { }
案2) 匿名型の代わりに、record class や record struct などを使う foreach (var LopItem in doc.QuerySelectorAll(".news_list>li").Select((Value, Index) => new Example( Value, Index ))) { Foo2(LopItem); } void Foo2(Example lopItem) { } record struct Example(AngleSharp.Dom.IElement Value, int Index);
案3) 匿名型を止めて、タプルで渡す foreach (var LopItem in doc.QuerySelectorAll(".news_list>li").Select((Value, Index) => ( Value, Index ))) { Foo3(LopItem); } void Foo3((AngleSharp.Dom.IElement Value, int Index) lopItem) { }
案4) Value と Index を別引数にして渡す foreach (var (value, index) in doc.QuerySelectorAll(".news_list>li").Select((Value, Index) => (Value, Index))) { Foo4(value, index); } void Foo4(AngleSharp.Dom.IElement value, int index) { }