【发布时间】:2020-03-06 13:46:55
【问题描述】:
我来自this 问题,但我的字符串中也可能存在无效值。 例如
string input = "1;2;3;4;5;6x;7;8;9;1x0";
应该是[1,2,3,4,5,7,8,9],因为["6x", "1x0"]是无效的整数值
我的做法:https://dotnetfiddle.net/Ji4bzq
string i = "1;2;3;4;5;6x;7;8;9;1x0";
int temp = -1;
int[] r = i.Split(';').Where(x => int.TryParse(x, out temp)).Select(_ => temp).ToArray();
这似乎可行,但感觉有点不对,因为 Select(_ => temp) 部分。
问题:在可读性和可靠性方面有没有更好的方法? (AsParallel 应该在这里失败)
【问题讨论】:
标签: c# arrays string linq parsing