linq 查询用于根据另一个列表从一个列表中进行选择
public class Test
{
int i;
string s;
}
List<Test> testList = new List<Test>(); //assume there are some values in it.
List<int> intList = new List<int>(){ 1,2,3};
我如何说使用对象的 linq 从 testList 中获取项目,其中 i 位于 intList 中。
类似于 List
public class Test
{
int i;
string s;
}
List<Test> testList = new List<Test>(); //assume there are some values in it.
List<int> intList = new List<int>(){ 1,2,3};
How to I say get items from testList where i is in intList
using the linq to objects.
something like List<Test> testIntList = testList.Where(t=>t.i in intList)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从技术上讲,它是:
但是,如果
intList
很大,则可能会很慢,因为List.Contains
在 O(n) 中执行搜索。更快的方法是使用HashSet
:Technically, it would be:
However, that might be slow if
intList
is large, sinceList<T>.Contains
performs its search in O(n). A faster approach would be to use aHashSet<T>
:这也很有趣并且性能良好:
您知道什么时候在 SQL
SELECT
中连接表吗?这是使用 Linq to Objects 执行此操作的方法。This would also be interesting and would perform well:
You know when you join tables in a SQL
SELECT
? This is how to do it using Linq to Objects.