在C#中修剪String数组的内容

Mr.*_*Boy 6 c# visual-studio-2005 trim .net-2.0

    String []lines = System.IO.File.ReadAllLines(path);
    foreach (String line in lines)
    {
        line.Trim();
    }
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为String.Trim将Trimmed版本作为新String返回.你做不到line = line.Trim().这是一个老派for循环的唯一方法吗?

    for(int i=0;i<lines.Length;++i)
    {
        lines[i] = lines[i].Trim();
    }
Run Code Online (Sandbox Code Playgroud)

注意我仅限于Visual Studio 2005,即.Net 2.0

Mir*_*Mir 8

lines.Select(l => l.Trim()).ToArray();
Run Code Online (Sandbox Code Playgroud)

或者,对于.NET 2.0:

static IEnumerable<string> GetTrimmed(IEnumerable<string> array)
{
    foreach (var s in array)
        yield return s.Trim();
}
Run Code Online (Sandbox Code Playgroud)

用于:

lines = new List<string>(GetTrimmed(lines)).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • 我最初错过了可能至关重要的.NET 2标签; 所有这些lambda的东西都不可用吗? (3认同)