我得到了一份包含3495个结果的列表。我得到的代码在IF条件下有一个循环。循环花费的时间太长(大约8分钟,因为在de if语句中进行了另一个操作)。我想要做的是将两个结果与主要列表分开。但我得到了不同的listtems列表。
List <MyObjectType> myListOfObjects = GetAllMyStuff();
List <MyObjectType> myTrueListObjects = new List<MyObjectType>();
List <MyObjectType> myElseListObjects = new List<MyObjectType>();
int ifResults = 0;
int elseResults = 0;
myListOfObjects.ForEach( s =>
{
if (s.SubSolicitud != null && s.SubSolicitud.Count() > 0)
myTrueListObjects .Add(s);
else
myElseListObjects.Add(s);
});
return;
假设我在myTrueListObjects中有3000个对象,在myElseListObjects中有935个对象。 但是当我尝试使用expresión的地方时,我得到了不同的结果
List <MyObjectType> myIfListObjects = GetAllMyStuff();
List <MyObjectType> myTrueListObjects = new List<MyObjectType>();
List <MyObjectType> myElseListObjects = new List<MyObjectType>();
myTrueListObjects = myIfListObjects.Where( s = s.SubSolicitud != null
&& s.SubSolicitud.Count() > 0)
myElseListObjects = myIfListObjects.Where( s = !(s.SubSolicitud != null
&& s.SubSolicitud.Count() > 0))
return;
通过这些,我在两个列表中获得了3935(myIfListObjects和myElseListObjects)。我不知道我做错了什么。
答案 0 :(得分:0)
这里的代码应该与第一段代码相同。我试过一个简单的列表,它的工作原理。你的sintaxis是错的,我无法建立它。
List <MyObjectType> myIfListObjects = GetAllMyStuff();
List <MyObjectType> myTrueListObjects = new List<MyObjectType>();
List <MyObjectType> myElseListObjects = new List<MyObjectType>();
myTrueListObjects = myIfListObjects.Where( s => (s.SubSolicitud != null
&& s.SubSolicitud.Count() > 0)).ToList();
myElseListObjects = myIfListObjects.Where( s => (!(s.SubSolicitud != null
&& s.SubSolicitud.Count() > 0))).ToList();
return;