Я совсем не ясно (из кода), что вы пытаетесь сделать, но приведу классический пример Array.ConvertAll
(для сравнения):
string[] data = { "123", "456", "789" };
int[] ints = Array.ConvertAll(data, int.Parse);
Здесь выделяется int[]
длины 3, затем (для каждой строки) int.Parse
используется для преобразования строки в int; вывод должен быть int[]
со значениями 123
, 456
, 789
.
Более сложный пример (с использованием лямбда-синтаксиса):
string[] data = { "abc", "def", "ghi" };
string[] reversed = Array.ConvertAll(data, s => {
char[] chars = s.ToCharArray();
Array.Reverse(chars); // note; not fully i18n safe
return new string(chars);
});
Здесь лямбда-тело (которое является нашим конвертером) переворачивает каждую строку (путем обращения символов); результат должен быть string[]
со значениями "cba"
, "fed"
, "ihg"
.