【问题标题】:Cannot implicitly convert type 'System.Linq.IQueryable<char[]>' to 'string[]'无法将类型 'System.Linq.IQueryable<char[]>' 隐式转换为 'string[]'
【发布时间】:2016-04-17 04:58:18
【问题描述】:

我正在尝试将 linq 语句的结果转换为 string[] 数组 如下所示

string[] g = from p in db.np_user_security where 
p.user_id == user_id select p.group_id.Distinct().ToArray();

但给我一个错误如下

无法将类型“System.Linq.IQueryable”隐式转换为 '字符串[]'

查询返回一个 id 列表,我需要将它保存在字符串数组或长数组中。我错过了什么?

【问题讨论】:

标签: arrays linq c#-4.0


【解决方案1】:

通过执行p.group_id.Distinct().ToArray(),您将每个group_id 拆分为不同字符的数组。所以事实上,整个查询返回IQueryable of 字符数组,而不是id。

我相信您想在调用 Distinct().ToArray() 之前先用括号包装查询:

string[] g = (from p in db.np_user_security 
              where p.user_id == user_id 
              select p.group_id
              ).Distinct().ToArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多