Имеется IEnumerable<INode>
который получаем с помощью LINQ
, далее работаем с ним, но решарпер зачем-то предлагает сделать каст к INode[]
и пересоздать IEnumerable<INode>
. В чем подвох?
public async Task<PaginationModel> LoadPaginationData() { IEnumerable<INode> nodes = _dleContent.QuerySelectorAll(".navi").First().QuerySelector("span.navigation") .ChildNodes.Where(node => node.NodeType != NodeType.Text); IEnumerable<INode> enumerable = nodes as INode[] ?? nodes.ToArray(); int currentPage = int.Parse(enumerable .First(node => node.NodeName.Equals("SPAN") && !node.TextContent.Trim().Equals("...")) .TextContent); PaginationModel result = new PaginationModel { UpdateTime = DateTime.Now, PaginationData = enumerable.ToDictionary( node => node.TextContent.Trim().Equals("...") ? -1 : int.Parse(node.TextContent), node => new Uri("http://example.com/")), CurrentPageId = currentPage }; return await Task.FromResult(result); }