Лучший способ получить первое слово и остальные слова в строке в С# В С# var parameters = from line in parameterTextBox.Lines select new {name = line.Split(' ').First(), value = line.Split(' ').Skip(1)}; Есть ли способ сделать это, не разбивая его дважды? Ответ 1 вы можете сохранить разделение в предложении let var parameters = from line in parameterTextBox.Lines let split = line.Split(' ') select new {name = split.First(), value = split.Skip(1)}; Ответ 2 Конечно. var parameters = from line in parameterTextBox.Lines let words = line.Split(' ') select new { name = words.First(), words.skip(1) }; Ответ 3 string Str= "one all of the rest"; Match m = Regex.match(Str,"(\w*) (\w.*)"); string wordone = m.Groups[1]; string wordtwo = m.Groups[2]; Ответ 4 Вы можете попробовать следующее: private Dictionary<string, string> getParameters(string[] lines) { Dictionary<string, string> results = new Dictionary<string, string>(); foreach (string line in lines) { string pName = line.Substring(0, line.IndexOf(' ')); string pVal = line.Substring(line.IndexOf(' ') + 1); results.Add(pName, pVal); } return results; }
Ответ 1 вы можете сохранить разделение в предложении let var parameters = from line in parameterTextBox.Lines let split = line.Split(' ') select new {name = split.First(), value = split.Skip(1)};
Ответ 2 Конечно. var parameters = from line in parameterTextBox.Lines let words = line.Split(' ') select new { name = words.First(), words.skip(1) };
Ответ 3 string Str= "one all of the rest"; Match m = Regex.match(Str,"(\w*) (\w.*)"); string wordone = m.Groups[1]; string wordtwo = m.Groups[2];
Ответ 4 Вы можете попробовать следующее: private Dictionary<string, string> getParameters(string[] lines) { Dictionary<string, string> results = new Dictionary<string, string>(); foreach (string line in lines) { string pName = line.Substring(0, line.IndexOf(' ')); string pVal = line.Substring(line.IndexOf(' ') + 1); results.Add(pName, pVal); } return results; }