最好的方法是在C#中的字符串中获取第一个单词和其余单词

时间:2010-08-02 16:55:51

标签: c# linq string

在C#中

var parameters =
    from line in parameterTextBox.Lines
    select new {name = line.Split(' ').First(), value = line.Split(' ').Skip(1)};

有没有办法做到这一点,而不必分裂两次?

4 个答案:

答案 0 :(得分:29)

您可以将拆分存储在let子句

var parameters =
    from line in parameterTextBox.Lines
    let split = line.Split(' ')
    select new {name = split.First(), value = split.Skip(1)};

答案 1 :(得分:6)

不确定

var parameters = from line in parameterTextBox.Lines
                 let words = line.Split(' ')
                 select new { name = words.First(), words.skip(1) };

答案 2 :(得分:4)

string Str= "one all of the rest";
Match m = Regex.match(Str,"(\w*) (\w.*)");
string wordone = m.Groups[1];
string wordtwo = m.Groups[2];

答案 3 :(得分:0)

你可以试试这个:

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;
}