2012-08-17 4 views
1

C#의 마지막 위치 객체에서 strating 객체 목록을 어떻게 루프 할 수 있습니까? 여기, 디렉토리를 사용할 수없는 경우 사용할 수있는 카테고리에 따라 경로를 업로드하기 위해 디렉토리를 만들 필요가있는 asp.net mvc 3 응용 프로그램이 있습니다. 그러나 카테고리 객체의 목록은 하위 카테고리가 첫 번째 위치에있는 순서와 반대입니다. 상위 카테고리 내에 하위 카테고리의 폴더를 만들고 싶습니다. 그래서 역순으로 루프를 시작하거나 카테고리 객체 목록을 뒤집을 수있는 함수가 있습니다. 크게C에서 마지막 객체부터 루핑 시작

+0

그럼에도 'for' 루프가 있습니다. – V4Vendetta

답변

6

Simpliest 솔루션을 감사합니다 어떤 도움이

foreach (var item in parentcategory) 
    { 
     categorypath += item.CategoryName + "/" ; 
    } 

을하지만, 대부분의 효율적이지는 다음과 같습니다 : 나는 다음과 같은 한 foreach는 루프

parentcategory.Reverse(); 
foreach (var item in parentcategory) 
{ 
    categorypath += item.CategoryName + "/" ; 
} 

나 : 실제로

for (int i=parentcategory.Count-1; i>=0; i--) 
{ 
    var item = parentcategory[i]; 
    categorypath += item.CategoryName + "/" ; 
} 
1

당신을 돈 역순으로 반복해야합니다.

foreach (var item in parentcategory) 
{ 
    categorypath = item.CategoryName + "/" + categorypath; 
} 

대단히 효율적이지는 않지만 작동합니다.

System.IO.Path 사용을 고려해 볼 수도 있습니다. 대신 문자열로 추가의

var categorypath = Path.Combine(categories.Reverse().ToArray()); 
1

은 또한 앞에 추가 수 : 지금까지 제시되는 모든 솔루션, 결과 문자열이 뒤에 "/"을 가지고

foreach (var item in parentcategory) 
    { 
     categorypath = item.CategoryName + "/" + categorypath; 
    } 

참고.