Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Массив или лист


Автор: V0LT 31.7.2009, 02:12
В функции есть такой код 
Код

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string[] temp = (new StreamReader(response.GetResponseStream()).ReadToEnd()).Split((new string[] { "\r\n" }),StringSplitOptions.RemoveEmptyEntries);

каждая строка из массива temp делится Split'ом на массив с тремя элементами temp[0] temp[1] temp[2]
нужно их вернуть вызвавшему что бы потом запрашивать так же легко temp[0] temp[1] temp[2]
тоесть нужно вернуть значения каждой строки в отдельности 

А обрабатываемый текст такой 
Код

SpinEdit=10|15
SpinEdit=2|10
SpinEdit=6|15
SpinEdit=3|5
SpinEdit=9|15

и получать примерно так 
Код

void[] s GetParam();
s[0].param1 = SpinEdit
s[0].param2 = 10
s[0].param3 = 15

незнаю как такое завернуть  smile 

Под void[] имею ввиду нечто либо массив структур либо лист ... либо ещё что то 

Автор: V0LT 31.7.2009, 05:16
Код

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string[] temp = (new StreamReader(response.GetResponseStream()).ReadToEnd()).Split((new string[] { "\r\n" }), StringSplitOptions.RemoveEmptyEntries);
            
            List<serverList> list = new List<serverList>();
            foreach (string s in temp)
            {
                string[] param = s.Split('=', '|');
                list.Add(new serverList(param[0], Convert.ToInt32(param[1]), Convert.ToByte(param[2])));
            }

            return list;


Вот что получилось ... незнаю верно или нет но оно работает 

Автор: -Mikle- 3.8.2009, 13:27
Цитата(V0LT @  31.7.2009,  08:16 Найти цитируемый пост)
незнаю верно или нет но оно работает 

ну нормально, что смущает?

единственное, я бы не стал читать это все в массив одним разом, а сделал бы так:
Код

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader streamReader = new StreamReader(response.GetResponseStream());

            List<serverList> list = new List<serverList>();

            while (streamReader.Peek() >= 0)
            {
                string[] param = streamReader.ReadLine().Split('=', '|');
                list.Add(new serverList(param[0], Convert.ToInt32(param[1]), Convert.ToByte(param[2])));
            }

            return list;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)