Задать вопрос

С# Массив получить из функции?

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

Вопрос такой:

Имеется класс Form в котором по клику на кнопку вызывается функция UserId();
private void button1_Click(object sender, EventArgs e)
        {
            UserId();
        }

Функция UserId находится в этом же классе и отправляет запрос серверу для получения XML ответа который содержит интересующую меня информацию, выполнением этого кода я доволен результат меня устраивает:
result = ServerApi.GetUserId();
Далее я отправляю полученный ответ в виде XLM документа на разбор в определенную для этого функцию UserNotMemberGroupp(); находящуюся в классе ServerApiParsXml что бы получить интересующие меня поля и записать уже готовый ответ в переменную:
string UserNotMemberGroup = ServerApiParsXml.UserNotMemberGroupp(result.SelectSingleNode("response")).ToString();

Функция UserId:
private void UserId() 
        {
            result = ServerApi.GetUserId();
            string[] UserNotMemberGroup = ServerApiParsXml.UserNotMemberGroupp(result.SelectSingleNode("response")).ToString();
        }


Вот тут и начинается самое интересное по крайней мере для меня переменная string UserNotMemberGroup определена как так как я думал получить значения в строковом виде но дальше появилась необходимость иметь массив по крайней мере с ним проще работать мне будет в дальнейшем.

Класс ServerApiParsXml функция UserNotMemberGroupp();

public static string UserNotMemberGroupp(XmlNode n)
        {
// выставляю счетчики в 0
            int i = 0, b = 0, e = 0;
//считаю количество узлов mem в XML документе для задания размера массива 
            int d = n.SelectNodes("mem").Count;
//Определяю массив для хранения пользователей не входящих в группу
            string[] UserNotGroup = new string[d];
//Определяю массив для хранения пользователей входящих в группу
            string[] UserGroup = new string[d];
//Определяю два массива user и mem для хранения в последовательности 1 к 1
//Данных полученных с XML документа 
//До этого делал string[,] user = new string [d,3] 
//- третий параметр я пока убрал хотя тоже нужная весч 
            string[] user =new string [d];
            string[] mem = new string [d];
//foreach у меня занимается тупой фасовкой данных по мне это щас самый простой способ
//кто подскажет лучше буду благодарен
            foreach (XmlNode userMemGroupNode in n.ChildNodes)
            {
                if (userMemGroupNode.Name == "mem")
                {

                    member[i] = userMemGroupNode.InnerText;
                    i++;
                }
                else
                {

                    user[b] = userMemGroupNode.InnerText;
                    b++;
                }
            }
//иду по массиву mem и если получаю значение 0
// то беру из массива user под тем же индексом значение и ложу в переменную для 
//возврата в функцию UserId() и присвоения переменной string UserNotMemberGroup
for (int c = 0; c < mem.Length; c++)
            {
                if (mem[c] == "0")
                {
                    UserNotGroup[e] = user[c];
                    e++;
}
 return UserNotGroup[e];
        }


Внимание вопрос:
Как мне передать массив UserNotGroup[e] из класса ServerApiParsXml в класс Form функцию UserId() присвоить переменной
string[] UserNotMemberGroup = ServerApiParsXml.UserNotMemberGroupp(result.SelectSingleNode("response")).ToString();

как я понимаю весь этот вопрос фигня справа от переменной
ServerApiParsXml.UserNotMemberGroupp(result.SelectSingleNode("response")).ToString();

должна сделать все свои дела и вернуть значение
return UserNotGroup[e];
которое в свою очередь будет присвоено переменной
string[] UserNotMemberGroup

Помогите кто чем может :)
  • Вопрос задан
  • 2888 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Уберите преобразование ToString()
var  UserNotMemberGroup=ServerApiParsXml.UserNotMemberGroupp(result.SelectSingleNode("response"));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы