Linq查询:无法将类型IEnumerable <string>转换为字符串更改.ToString()到(字符串)

5 c# linq

我有一个包含的linq查询

select new Project()
           {                             
               Manager =  list.Employee.Select(x => x.Manager).ToString()
           }).ToList();
Run Code Online (Sandbox Code Playgroud)

这个汇编,但我最终得不到数据...我得到了"经理"的价值 System.Linq.Enumerable+WhereSelectListIterator<Flex.Data.Systems,System.String> 所以我以为我会改为(string)而不是 .ToString() 但这不起作用

select new Project()
           {                             
               Manager =  (string)list.Employee.Select(x => x.Manager)
           }).ToList();
Run Code Online (Sandbox Code Playgroud)

给我错误信息

无法将类型'System.Collections.Generic.IEnumerable'转换为'string'

Tim*_*ter 10

你想Manager成为什么,string用逗号分隔的值列表或List<string>/ String[]

串:

Manager =  string.Join(",",list.Employee.Select(x => x.Manager))
Run Code Online (Sandbox Code Playgroud)

采集:

Manager =   list.Employee.Select(x => x.Manager).ToList()
// or
Manager =   list.Employee.Select(x => x.Manager).ToArray()
Run Code Online (Sandbox Code Playgroud)


Mag*_*nus 6

问题是list.Employee.Select(x => x.Manager)返回一个管理器集合,属性Manager是一个字符串(?).你需要一些你想要的经理.例如,追加.First()以获取集合中的第一个.