You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 查询数据库JobID调用string.Join返回数组报错如何解决

问题修复方案

报错原因

  • string.Join 方法返回值为单个字符串类型,你尝试将其赋值给声明为string[]数组类型的变量y,类型不匹配触发报错。
  • 额外冗余逻辑:你在单个JobID字符串x上调用ToArray()会得到char[]字符数组,完全不符合收集JobID的需求,预先初始化的固定长度100的字符串数组也没有实际作用。

对应实现代码

场景1:返回每个JobID为单独元素的字符串数组

public string[] GetAgentJobId()
{
    var agentName = _context.Table1.SqlQuery
        ("Select * from Table1 " +
        "CROSS APPLY string_split(AssignTo, ',') where value = 'name'").ToArray();
    return agentName.Select(m => m.JobID.ToString()).ToArray();
}

场景2:返回每个JobID为单独元素的int数组

public int[] GetAgentJobId()
{
    var agentName = _context.Table1.SqlQuery
        ("Select * from Table1 " +
        "CROSS APPLY string_split(AssignTo, ',') where value = 'name'").ToArray();
    return agentName.Select(m => m.JobID).ToArray();
}

场景3:返回所有JobID逗号拼接为单个元素的字符串数组

如果你需要的是把所有JobID用逗号拼接成一个完整字符串,再放在数组里返回,用以下实现:

public string[] GetAgentJobId()
{
    var agentName = _context.Table1.SqlQuery
        ("Select * from Table1 " +
        "CROSS APPLY string_split(AssignTo, ',') where value = 'name'").ToArray();
    string joinedJobIds = string.Join(",", agentName.Select(m => m.JobID.ToString()));
    return new string[] { joinedJobIds };
}

内容的提问来源于stack exchange,提问作者rrpqertyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:21:00