2010-07-23 5 views
-1

je travaille avec visual studio 2008, IEnumerator에 관한 질문이 있습니다. 나는 그것을 받아들이지 않았고 빨간색으로 밑줄을 긋습니다. 프로그램의 부분 :C# IEnumerator Visual Studio 2008에서 허용하지 않습니다.

foreach (string attribut in liste_attr) 
{ 
    string perim=""; 
    if (attribut == "grpProfilDn") 
    { 
    PropertyValueCollection ValueCollection DirEntry.Properties["grpProfilDn"]; 
    System.Collections.Generic.IEnumerator en ValueCollection.GetEnumerator(); 

    while (en.MoveNext()) 
    { 
     perim += en.Current.ToString(); 
    } 

    utilisateur1 = perim;    
    } 
} 
+0

밑줄 부분은 무엇입니까? 그리고 오류 메시지 (컴파일러 메시지)는 무엇입니까? –

+0

정확히 어디에 문제가 있습니까? 그리고 (컴파일러) 오류 메시지는 무엇입니까? –

+2

이'PropertyValueCollection ValueCollection DirEntry.Properties [ "grpProfilDn"];은 좀 이상합니다 ... – Cipi

답변

1

는 두 개의 인터페이스가 있습니다이 :

는 (일반적인)
  • System.Collections.IEnumerator (제네릭이 아닌)
    • System.Collections.Generic.IEnumerator<T>

    당신은 사용하려고 시도하는 것으로 나타 첫 번째 코드는 비 제너릭 코드 인 것처럼 보이지만, 게시 한 코드가 여러 가지면에서 유효하지 않음을 확실히 알기는 어렵습니다 (누락되었습니다. "="같은 것들).

    더 많은 점 : 왜 사용하지 않는 foreach? 당신은

  • +0

    +1 왜 'foreach'. –

    1

    '다시없는이'= '에서 : 정확히 밑줄 모든 메시지 있었는지보였다 경우 도움이 될

    ... 
        PropertyValueCollection ValueCollection = DirEntry.Properties["grpProfilDn"]; 
        System.Collections.Generic.IEnumerator en = ValueCollection.GetEnumerator(); 
        ... 
    
    +1

    나는 의심 스럽다 * 잘라 내기 및 붙여 넣기 오류 일뿐입니다. 그러나 위의 대답은 컴파일되지 않습니다. 이유는 내 답변에 나와 있습니다. –

    +0

    @ 존 Skeet : 당신이 맞습니다. 제 실수를 지적 해 주셔서 감사합니다. –

    0

    .

    그러나 올바른 C# 구문은 아닙니다. 내가 볼 수없는

    TheType variableName = someExpression; 
    

    코드에서 = 그 :

    는 같은 구문을 필요로 선언하고 변수를 초기화합니다.

    0
    string perim = string.Empty; 
    
        foreach (var item in ValueCollection) { 
         perim += item.ToString(); 
        } 
    
    관련 문제