기본적으로 사용자 정의 오브젝트 목록을 전달하는 메소드가 있습니다. 나는 C#을 사용하고있다. 이들 각각에는 다른 사용자 정의 객체의 이름과 다른 목록이 포함되어 있으므로이 하위 객체를 호출하겠습니다. 이들은 각각 이름과 문자열 목록을 가지고 있습니다. 모든 문자열을 반복해야하지만 오류 로깅 목적으로 부모 개체 및 주제의 이름을 추적해야합니다. 중첩 된 foreach보다 더 깨끗하고 좋은 방법이 있습니까?C에서 복수의 중첩 된 foreach를 단순화하는 방법 #
foreach (var obj in listOfObjects)
{
foreach (var subObj in obj.subObjects)
{
foreach (var aString in subObj.strings)
{
if (some condition applies)
{
//log error that includes obj, subObj, and subSubObj names, and aString.
}
}
}
}
'if' 블록에서 사용하고자하는 조건은 무엇입니까? – ekad
LINQ를 사용하여이 작업을 수행 할 수는 있지만 훨씬 명확하게 알 수는 없습니다. – MarcinJuraszek
먼저'subobj.strings'을'subObj.strings '로 대체하여 컴파일합니다. :) 이 구조에는 문제가 없습니다. 그것이하는 일을합니다. 유일한 문제는'if' 내부에서'foreach'를 빠져 나가야한다는 것입니다. 플래그 나 아름다운'goto'가 필요할 것입니다. ;) – Andrew