使用动态查询语言修剪()字符串列表以生成修剪的IQueryable <string>

Mat*_*t W 17 c# linq string trim

这是可能的,还是我只是试图过度缩短我的代码?

我认为它可能是这样的:

IQueryable<string> trimmedStrs = untrimmedStrsArr.AsQueryable<string>().All(s => s.Trim());
Run Code Online (Sandbox Code Playgroud)

但那并不好:(

Tom*_*cek 53

我想你只想:

IEnumerable<string> trimmed = untrimmedStrsArr.Select(s => s.Trim());
Run Code Online (Sandbox Code Playgroud)

如果你有内存集合,如list或array,那么你可以使用LINQ方法来IEnumerable<T>处理它们,因为这些处理数据在内存中.在使用数据库时(例如,使用LINQ to SQL),Queryable非常有用.

您可以在MSDN上找到有关各种方法的详细文档.以下内容应解释为什么需要Select而不是All:

  • All - 确定序列的所有元素是否满足条件.
  • Select - 将序列的每个元素投影到新表单中.