C # : AddRange () 및 Lambda 식 결합

c# html-agility-pack lambda

문제

나는이 Collection 노드의 특정 모음 HTMLAgilityPack.HTMLNodeCollection 노드를. 다음을 수행하여 노드의 정보를 추출하고 저장할 수 있다는 것을 알고 있습니다.

List<string> nodesList = new List<string>();

var nodes = myFile.DocumentNode.SelectNodes(file_path);
foreach (var node in nodes)
    nodesList.Add(node.InnerText);

그러나, 내가하고 싶은 것은 foreach 루프에 항목을 추가하는 대신 AddRange() 적용하는 것입니다. 이 작업을 수행하기 위해 람다 표현식을 사용하려고 시도하지만 제대로 수행하기 위해 람다 식을 익숙하지 않습니다. 나는 다음과 같은 것을 결합하려고 노력 중이다.

nodesList.AddRange( string[] arr = x => nodes.ToArray()[x].InnerText );

나는 그것이 구문 론적 의미를 갖지 않는다는 것을 안다. 그러나 나는 이것을 할 수 있을지 모르겠다. 그냥 Cast<string>() 컬렉션을 Cast<string>() 하고 싶지만 각 노드에서 텍스트를 추출해야합니다.

이것을 AddRange() 표현식에 넣는 방법에 대한 아이디어가 있습니까?

수락 된 답변

IEnumerable. Select() 찾고 IEnumerable. Select() :

nodesList.AddRange(nodes.Select(node => node.InnerText))


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.