2012-09-27 5 views
0

내 문제는 다음과 같습니다. 유형이 출품자와 동일한 WizFile 객체의 파일 이름이되도록 텍스트 상자의 텍스트를 설정하고 싶습니다. 어떻게해야합니까?람다를 사용하여 문자열 반환

private IList<WizFile> wizFiles; 
wizFiles = importerService.GetWizFiles(); 

txtExhibitors.Text = wizFiles.FileName where wizFiles.Type = exhibitors 

유형이 출품자와 동일한 wizFiles에는 WizFile이 하나만 있습니다.

wizFiles.First(w => w.Type == exhibitors).FileName 

First이 존재하는 경우 첫 번째 항목을 반환하고 목록이 비어있는 경우 예외가 발생합니다 : 당신이 하나 필요 -

답변

4

귀하의 질의는 IEnumrable<string> 반환합니다.

의 경우 null이 반환되면 FirstOrDefault을 사용할 수 있습니다.

목록에 정확히 하나의 항목이 있어야하는 경우 Single 또는 SingleOrDefault을 대신 사용해보십시오.

+0

주인공, thanks @Oded –

2

여기 간다 :

txtExhibitors.Text = wizFiles.First(wiz => wiz.Type == exhibitors).FileName; 

당신은 FirstOrDefault를 사용하고 파일 이름을 얻기 전에 널 (null)을 확인 할 수 있습니다.

+0

답변은 내 +1과 매우 비슷합니다. – Jodrell

관련 문제