次のような1次元のstring []配列があります
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 と Names のリストとして結果を取得します
アップデート
ここにマークされた答えの説明があります..
何が起こっているかというと、ServerID と Name のクエリ可能/リストを作成し、それを Enumerable に変換し、.Select() 拡張子を使用して文字列のリストを作成し、それを文字列 select new { a.ServerID, b.Name の配列に変換します。 } --> ServerID および Name プロパティを持つ匿名型のリスト/queryable を作成します。
AsEnumerable() --> SQL to LINQ は string.Format をサポートしていないため、string.Format を使用できるように Enumerable に変換します。
Select(x => string.Format("{0} - {1}", x.ServerID, x.Name)) --> ServerID と Name を使用して String のリストを作成するために Select を実行します
ToArray() --> そこで単純に String[] に変換します。