2011-11-22 2 views
1

This link은 VB.NET에서 XML 파일의 스키마를 추론 할 수있는 샘플 코드를 제공합니다. 하나 개의 특정 라인은vb.net을 C#으로 번역 : 코드 한 줄

Dim schema As XmlSchema = schemaSet.Schemas()(0) 

내 번역은

XmlSchema schema = schemaSet.Schemas()[0]; 

내가 나의 번역에 어떤 문제가 있는지 볼 수있다, 즉, C#을, 나의 번역에 실패?

+7

컴파일러 오류는 무엇입니까? 'schemaSet'은 어떤 타입입니까? – Jacob

+0

'schemaSet'의 타입은 무엇입니까? – jzila

+0

형식이 System.Xml.Schema.XmlSchemaSet이고 'System.Collections.ICollection 형식의 식에 []을 (를) 사용하여 인덱스를 적용 할 수 없습니다.' – AAsk

답변

10

XmlSchemaSet.Schemas()은 색인으로 액세스 할 수없는 ICollection을 반환합니다. 당신이 .NET 3.5을 사용하여 사용하는 경우 당신은 할 Linq를 사용할 수 있습니다 :

schemaSet.Schemas().Cast<XmlSchema>().First(); 

그렇지 않으면 당신은 foreach 루프를 사용하여 첫 번째 반복 한 후 중지해야합니다.

+0

첫 번째로 '[0]'을 (를) 사용하려고 시도하면 'ICollection'에 대해 작동하지 않는다고 지적했습니다. –

+0

+1 실제로 문제를 해결할 답을 제공합니다. –

+0

ChrisWue : Brilliant! 그것은 작동합니다. 고맙습니다. 나는 호기심 - 비 Linq 솔루션은 무엇입니까? – AAsk