разделение строки из элементов списка - PullRequest
1 голос
/ 18 мая 2011

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

foreach (ListItem item in lstboxColumnList.Items)
            {

                column_name = temp + "\" "+item+"\"";
                temp = column_name + "," + Environment.NewLine;
            }

как я могу получить разделенную строку

Ответы [ 4 ]

0 голосов
/ 18 мая 2011

контроль:

 var parts = lstboxColumnList.Items.OfType<ListItem>().Select(i => new { 
                          Part1 = i.Text.Split(' ').FirstOrDefault(),
                          Part2 = i.Text.Substring(i.Text.IndexOf(' '))
                       });

 foreach (var part in parts)
 {
     var p1 = part.Part1;
     var p2 = part.Part2;

     // TODO: use p1, p2 in magic code!!
 }
0 голосов
/ 18 мая 2011

Я не знаю формат вашего элемента списка. но я предположил, что ваш элемент списка имеет как минимум 2 слова и разделен пробелом .. Таким образом, вы можете сделать разбиение с использованием подстроки и индекса ..

string first = sentence.SubString(0, sentence.IndexOf(" "));
string second = sentence.SubString(sentence.IndexOf(" ") + 1);
0 голосов
/ 18 мая 2011
    public void Test()
    {
        List<string> source = new List<string> {
            "key1 some data",
            "key2 some more data",
            "key3 yada..."};
        Dictionary<string, string> resultDictionary = source.ToDictionary(n => n.Split(' ').First, n => n.Substring(n.IndexOf(' ')));
        List<string> resultStrings = source.Select(n => string.Format("\"{0}\",{1}", n.Split(' ').First, n.Substring(n.IndexOf(' ')))).ToList;
    }

resultDictionary - это словарь, ключом которого является первое слово каждой строки в исходном списке.

Второе приближение соответствует требованиям вашего вопроса: выводит список строк в указанном вами формате.

РЕДАКТИРОВАТЬ: Извинения, опубликованные в VB первый раз.

0 голосов
/ 18 мая 2011

Предполагая, что первое слово заканчивается пробелом, вы можете использовать что-то вроде ниже:

string firsWord = sentence.SubString(0, sentence.IndexOf(' '));
string remainingSentence = sentence.SubString(sentence.IndexOf(' '), sentence.Length);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...