У меня есть Collection
узлов, в частности коллекция узлов HTMLAgilityPack.HTMLNodeCollection
. Я знаю, что могу извлечь и хранить информацию из узлов, выполнив:C#: Объединение AddRange() и выражения Lambda
List<string> nodesList = new List<string>();
var nodes = myFile.DocumentNode.SelectNodes(file_path);
foreach (var node in nodes)
nodesList.Add(node.InnerText);
Однако то, что я хотел бы сделать, это применить AddRange()
, а не добавлять элементы в foreach
цикле. Я пытаюсь использовать выражение лямбда для этого, но я недостаточно хорошо знаком с лямбда-выражениями, чтобы сделать это правильно. Я пытаюсь совместить что-то вроде
nodesList.AddRange(string[] arr = x => nodes.ToArray()[x].InnerText);
Я знаю, что не имеет никакого синтаксический смысл, но я не уверен, что даже может это сделать. Я хотел бы только Cast<string>()
коллекции, но мне нужно извлечь текст из каждого узла.
Любые идеи о том, как положить это в выражение AddRange()
?
из любопытства, делает ваш первый пример на самом деле компиляции и запуска? –
@GrantWinney Да. Разве это не так? – Bryant
Вы повторяете сборку узлов, а затем добавляете их непосредственно в список строк ... Я просто решил, что это не сработает без выбора только свойства интересующего вас узла (например, 'nodesList.Add (node.InnerText); ') –