使用lambda返回字符串

时间:2012-09-27 15:59:31

标签: c# lambda

下面是我的问题,我想将文本框的文本设置为WizFile对象的文件名,其中类型等于参展商...我该怎么做?

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

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

wizFiles中只有一个WizFile类型等于参展商。

2 个答案:

答案 0 :(得分:4)

您的查询返回IEnumrable<string> - 您只需要一个:

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

First将返回第一个项目(如果它存在)并在列表为空时抛出异常。

如果列表为空,您可以使用FirstOrDefaultstring将返回null

如果列表中只有一个项目很重要,请考虑改为使用SingleSingleOrDefault

答案 1 :(得分:2)

这里是:

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

您可能需要使用FirstOrDefault并在获取FileName之前检查null。