Я хочу сделать это в LINQ:Конкатентные массивы с определенным индексом с LINQ?
public static void ConcatAt(this string[] items, string[] others, int at)
{
for (int i = 0; i < others.Length && at < items.Length; i++, at++) {
items[at] = others[i];
}
}
Использование:
string[] groups = { "G1", "G2", "G3" };
string[] names = new string[groups.Length + 1];
names[0] = "Choose";
names.ConcatAt(groups, 1);
foreach (var n in names)
Console.WriteLine(n);
/*
Choose
G1
G2
G3
*/
Строка был просто пример, может быть что угодно, хотя.
Итак, существует ли метод LINQ, который делает это?
Выполнение names = names.Concat(groups).ToArray();
будет включать пустые строки, в названиях, так что если я печатаю names
я получаю:
/*
Choose
G1
G2
G3
*/
Спасибо.
Не уверен, что я понимаю, почему в вашем конкретном примере, вы не можете использовать 'имена = names.Concat (группы) .ToArray(); '? Является ли требование индексом ...? –
Нет, потому что это включало бы пустые строки, а также имена. Так что, если я напечатаю «имена», я бы получил «Выбрать», «», «», «», «G1» и т. Д. – vexe
Что с -1? – vexe