【发布时间】:2015-10-22 11:08:16
【问题描述】:
我有一个字符串数组传递给一个方法:
private DataTable buildDataTableFromErrorPairs(string[] ErrorPairs)
{ ... }
我想判断数组中的字符串是否长度大于 150 个字符,如果是,则截断它。我知道数组中最多只有一个长度大于 150 的字符串。尝试了一些 LINQ,但显然原始字符串没有改变:
var error = ( from e in ErrorPairs
where e.Length > 150
select e
).FirstOrDefault();
error = error.Substring(0, 100);
尝试了这个可能更接近的 lambda:
ErrorPairs = ErrorPairs.Select(s => s.Substring(0, 150)).ToArray();
大概我必须在找到和子串化有问题的值之后创建一个新的字符串数组?我通常在 WPF 中工作并使用List<T>,所以在删除和添加元素方面没有问题!
【问题讨论】: