ZipArchive
및 압축 된 filename as a String
을 포함하는 압축 파일 목록이 있습니다. 또한 목록으로 확인해야하는 파일 이름의 최종 목록이 있으며 파일이 내 최종 파일 이름 목록과 일치하지 않으면 내 압축 파일 목록에서 덤프해야합니다.파일 이름이 변수 이름 배열에 존재하지 않는 경우 찾기
내 말을 잘 못해서 내 코드/의사 코드로 설명하도록하겠습니다. 두 개의 매개 변수가
List<ZipContents> importList = new List<ZipContents>();
: 여기
내 목록이라고ZipArchive
라고ZipFile
String
FileName
filenames
내 ZipContents
목록을 확인하려고하는 파일 이름의 피날레 목록입니다.
foreach (var import in importList)
{
var fn = import.FileName;
// do some kind of lookup to see if fn would be List<String> filenames
// If not in list dump from ZipContents
}
주석 처리 된 부분은 내가하는 일에 대한 확신입니다 것입니다 : 여기
는 내가 뭘하려고 오전의 시작입니다. 누군가 나를 올바른 길로 인도 할 수 있습니까? 감사!EDIT 1
내가 원래 이런 말을하지 않았다 알고 있지만 내가 LINQ가 취할 수있는 많은 청소기 경로 될 것이라고 생각합니다. 나는 단지 긍정적 인 방법이 아닙니다. .RemoveAll(..)
을 사용하면 내가 가고 싶을 것이라고 생각하고 있습니까?
정확히 이것은 내가 작성하려고했던 것입니다.이것이 당신의 대답이 아니라면 나는 그것이 당신을 올바른 길로 인도해야한다고 생각합니다. –
나는 .Remove()를 사용하여 내 문제를 해결 한 방식을 좋아하지만 내용이 많고 제거되고 순서가 바뀌면 내 목록에 문제가 생길 수 있습니까? – scapegoat17
목록에서 항목을 제거하려는 경우 사용자가하는 일과 관계없이 항목이 변경됩니다. .remove()를 사용하면 순서가 유지되지만 문제의 항목 만 제거하면됩니다. 그러나 다른 답변에서 지적했듯이 foreach에서 반복되는 목록을 수정하면 문제가 발생할 수 있습니다. 필자가 편집 한 코드 에서처럼 Linq를 사용하는 것이 더 나은 방법이라고 제안합니다. – Redit0