C# · 12月 24, 2021

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

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

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

for(int i=0;i<lines.Length;++i) { lines[i] = lines[i].Trim(); }

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

解决方法 lines.Select(l => l.Trim()).ToArray();

或者,对于.NET 2.0:

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

用于:

lines = new List<string>(GetTrimmed(lines)).ToArray();