Добрый день!
Программирование почти не занимаюсь но для саморазвития иногда пробую всякие приколы, так что камнями прошу не кидать.
Вопрос такой:
Имеется класс 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
Помогите кто чем может :)