Trim() 使用动态查询语言生成修剪后的 IQueryable字符串列表。
这是可能的,还是我只是想过度缩短我的代码?
我想这可能是这样的:
IQueryable<string> trimmedStrs = untrimmedStrsArr.AsQueryable<string>().All(s => s.Trim());
但这不好:(
Is this possible, or am I just trying to way overly shorten my code?
I thought it might be something like:
IQueryable<string> trimmedStrs = untrimmedStrsArr.AsQueryable<string>().All(s => s.Trim());
But that's no good :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为您想要的只是:
如果您有内存中的集合(例如列表或数组),那么您可以使用
IEnumerable
的 LINQ 方法来处理它们,因为这些在内存中处理数据。 Queryable 在使用数据库时非常有用(例如使用 LINQ to SQL)。您可以在 MSDN 上找到有关各种方法的详细文档。下面应该解释为什么需要
Select
而不是All
:All
- 确定序列的所有元素是否满足条件。Select
- 将序列的每个元素投影到新的表单中。I think you want just:
If you have in-memory collection such as list or array, then you can work with them using LINQ methods for
IEnumerable<T>
, because these process data in memory. Queryable is useful when working with databases (e.g. using LINQ to SQL).You can find a good documentation on various methods on MSDN. The following should explain why you need
Select
instead ofAll
:All
- Determines whether all elements of a sequence satisfy a condition.Select
- Projects each element of a sequence into a new form.这似乎对我有用:
This one seemed to work for me:
All
不是执行此操作的正确方法。它是一个谓词,如果集合中的每个项目都符合您在参数中给出的条件,则返回 true。使用All
is not the right method to do this. It is a predicate, returning true if every item in the collection matches the condition you give in the parameter. Use