Я пытаюсь получить доступ к элементам в одномерных «данных» массив (строки или двойные) через другой массив, содержащие индексы Я хочу, чтобы извлечь:Доступ одномерных элементы массива с индексом массивом
string[] myWords = {"foo", "overflow", "bar", "stack"};
int[] indices = {3, 1};
string[] someWords = myWords[indices]; // Extract entries number three and one.
Последней строке отказался компилятор. То, что я хотел бы видеть, - someWords == {"stack", "overflow"}
.
Насколько я знаю, это работает в Matlab и Fortran, так есть ли хороший и элегантный способ сделать это для массивов на C#? Списки тоже прекрасны.
Array.GetValue(int[])
как в this question не работает в моем случае, так как этот метод для многомерных массивов only.`
Это похоже на синтаксис, который будет работать на языке из другой парадигмы. В C# операции массива гораздо более ручные; ответ LINQ (библиотека выполняет задание), или вы можете реализовать его явно как цикл над значениями в «индексах» с массивом, созданным вручную, содержащим результаты. – Shibumi
Конечно, я мог бы сделать это вручную, но я специально искал элегантный лайнер. – cuneus
Я не уверен, что «элегантный однострочный» не является оксюмороном **:) **. – Shibumi