как добавить значения массивов из массивов - PullRequest
0 голосов
/ 06 февраля 2012

Привет, у меня есть две строки массивов.Но я не могу понять, как добавить некоторые значения из массива в другой.

вот мой код.

string result[];
string[] hidden;
for (var cek = 1; cek < st.Count(); cek++) 
{
hidden[cek] = result[cek];
}

первая строка уже заполнена значениями.и я хочу добавить некоторые значения из результата в скрытый.но почему он говорит использование неназначенной локальной переменной ?

, есть какая-то ошибка или я должен использовать другие методы, а не этот?

РЕДАКТИРОВАНИЕ 1 Я не могу определить длину скрытого массива, потому что он не всегда один и тот же, длина определяется по входным словам из текстового поля, которое может быть подсчитано от st.count ()

Ответы [ 6 ]

1 голос
/ 06 февраля 2012

Для начала, ваши имена переменных ужасны. Вы используете одну и ту же переменную - cek - внутри цикла for и снаружи. Это очень трудно понять, что вы имеете в виду. Что вы хотите, чтобы эта строка делала:

string result[cek];

Во-вторых, вы не указали скрытый размер, поэтому он не назначен. Я предполагаю, что именно здесь вы получаете исключение.

В-третьих, что вы хотите скрыть, чтобы включить, когда цикл завершен? Если вы сможете разобраться с этим, я думаю, что LINQ определенно поможет вам работать с массивами.

0 голосов
/ 16 сентября 2014

Ну, это простой ответ string[] hidden=new string[st.count()];, и если вы хотите изменить размер массива hidden, попробуйте это Array.Resize(ref hidden,NewLenght);.
И вы продолжаете получать ошибку: использование неназначенной локальной переменной , потому что результат пуст.

0 голосов
/ 06 февраля 2012

Причина сообщения об ошибке заключается в том, что вы создали только ссылку на массив, а не сам массив.Используйте ключевое слово new для создания массива.

Еще две проблемы с кодом:

  • Индексы массива начинаются с 0, а не с 1.
  • Используйте свойство Length массива.Метод Count будет циклически проходить по массиву, чтобы выяснить, сколько элементов существует, поэтому это очень неэффективно.

:

// input: string result[]

string[] hidden = new string[result.Length];
for (int cek = 0; cek < result.Length; cek++) {
  hidden[cek] = result[cek];
}

Вы также можете использовать CopyTo метод для этого:

string[] hidden = new string[result.Length];
result.CopyTo(hidden, 0);
0 голосов
/ 06 февраля 2012

«использование неназначенной локальной переменной», потому что вы не присвоили значение hidden.Вы должны инициализировать его:

int elementCountOfHiddenArray = // something
string[] hidden = new string[elementCountOfHiddenArray];
0 голосов
/ 06 февраля 2012

Вы должны назначить свой скрытый массив:

string[] hidden = new String[100]; //write length of your array
0 голосов
/ 06 февраля 2012

Если у вас есть два массива

string[] aArray;
string[] bArray;

Вы можете использовать Union для объединения двух.

aArray = aArray.Union(bArray).ToArray();

Подробнее о Union здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...