Edw*_*uay 111 .net c# split trim
我想分开这一行:
string line = "First Name ; string ; firstName";
Run Code Online (Sandbox Code Playgroud)
进入他们修剪版本的数组:
"First Name"
"string"
"firstName"
Run Code Online (Sandbox Code Playgroud)
我怎么能在一条线上完成这一切?以下给出了一个错误"无法转换类型void":
List<string> parts = line.Split(';').ToList().ForEach(p => p.Trim());
Run Code Online (Sandbox Code Playgroud)
Céd*_*Rup 263
尝试
List<string> parts = line.Split(';').Select(p => p.Trim()).ToList();
Run Code Online (Sandbox Code Playgroud)
仅供参考,Foreach方法接受一个Action(取T并返回void)作为参数,并且你的lambda返回一个字符串作为string.Trim返回一个字符串
Foreach扩展方法用于修改集合中对象的状态.由于字符串是不可变的,因此无效
希望它有所帮助; o)
塞德里克
Guf*_*ffa 22
该ForEach方法不返回任何内容,因此您无法将其分配给变量.
请改用Select扩展方法:
List<string> parts = line.Split(';').Select(p => p.Trim()).ToList();
Run Code Online (Sandbox Code Playgroud)
Gui*_*ira 21
在.net 5之后,解决方案很简单:
string[] parts = line.Split(';', StringSplitOptions.TrimEntries);
Run Code Online (Sandbox Code Playgroud)
因为p.Trim()返回一个新字符串.
你需要使用:
List<string> parts = line.Split(';').Select(p => p.Trim()).ToList();
Run Code Online (Sandbox Code Playgroud)