gpt4 book ai didi

c# - 如何将 LINQ 结果插入到 string[] 数组

转载 作者:行者123 更新时间:2023-11-30 19:42:37 25 4
gpt4 key购买 nike

我有一个如下所示的一维字符串[]数组

string[] header = new string[30];

public class GetList
{
public string ServerID;
public string Name;

public GetList(string sName, string cName)
{
this.ServerID = sName;
this.Name = cName;
}
}

我有一个查询,它将返回服务器名称和组件名称的列表,如下所示

   var query = (from a in this.hmdb.Servers
join b in this.hmdb.Components
on a.ServerID equals b.ServerID
select new { a.ServerID, b.Name});

如何将查询结果插入到string[]头中?

编辑

当我尝试这样的事情时

  var query = (from a in this.hmdb.Servers
where a.ServerID.Contains(match)
join b in this.hmdb.Components
on a.ServerID equals b.ServerID
select new
{
ID = a.ServerID,
Name = b.Name
}).ToArray();

我得到的结果是 ServerID 和名称的列表

更新

这里是对标记答案的解释..

发生的事情是,它将创建一个可查询/服务器 ID 和名称列表,然后将其转换为可枚举并使用 .Select() 扩展名创建一个字符串列表并将其转换为字符串数组select new { a.ServerID, b.Name } --> 创建一个具有 ServerID 和 Name 属性的匿名类型的列表/可查询对象..

AsEnumerable() --> 将其转换为 Enumerable 以便我们可以使用 string.Format 因为 SQL to LINQ 不支持 string.Format

Select(x => string.Format("{0} - {1}", x.ServerID, x.Name)) --> 执行 Select 以使用 ServerID 和 Name 创建字符串列表

ToArray() --> 只需将其转换为 String[]那里。

最佳答案

尝试创建一个新字符串并将其转换为您选择的字符串数组。

   var query = (from a in this.hmdb.Servers
join b in this.hmdb.Components
on a.ServerID equals b.ServerID
select new {a.ServerID, b.Name}).AsEnumerable().Select(x=> string.Format("{0} - {1}",x.ServerID, x.Name)).ToArray();

string[] header = query;

关于c# - 如何将 LINQ 结果插入到 string[] 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com