我过去两天一直在墙上敲打我的头,但我无法改进以下LINQ的计时。LINQ查询改进
from obj in list
from obj1 in list1
where (obj1.ClassesName.Contains(obj.ClassName) && obj1.Count> 0)
select new { result = obj1.ClassName})
我需要obj1.classesname列表来搜索obj.classname。一旦在classesname列表中找到,我需要返回obj1类名。
我在列表中有5千个对象。
上面的查询需要超过30秒的时间才能运行。我需要在5秒钟之内减少这段时间。
我很困惑,每一次的帮助都会计算在内。
在此先感谢。
您是否尝试过使用普通循环?我有LINQ查询运行缓慢,我刚刚用正常的结构替换它们,有时它们运行得更快。 – 2012-02-25 05:08:47
应该只返回1个结果吗?或许多结果? – 2012-02-25 05:09:26
我认为提供一些示例数据和期望的输出会有帮助,因为不清楚“ClassesName”的类型是什么(string?string数组?),以及Contains是作为子字符串还是集合操作。如果收集,是否需要区分大小写? obj1.Count指的是什么? – 2012-02-25 05:13:10