我正在尝试将其重构为查询:
while (IsRunning)
{
...
//specialPoint is a string
foreach (PointTypeItem pointTypeItem in PointTypeItemCollection)
{
foreach (PointItem pointItem in pointTypeItem.PointItemCollection)
{
//Replace the point name with point ID
if (specialPoint.Contains(pointItem.PointName))
{
replacedCode += s.Replace(specialPoint , pointItem.ID);
//I want to go back to the beginning point of while (IsRunning) from here
//Simply putting continue; here won't work
}
}
}
}
我基本上想将其转换为LINQ查询,但是我坚持写一个。实际上,我什至不确定我是否朝着正确的方向前进。
var results = from pointTypeItem in ddcItem.PointTypeItemCollection
where pointTypeItem.PointItemCollection.Any(pointItem => pointName.Contains(pointItem.PointName))
select //What do I select?
最佳答案
var results = from pointTypeItem in ddcItem.PointTypeItemCollection
from pointItem in pointTypeItem.PointItemCollection
where specialPoint.Contains(pointItem.PointName)
select pointItem.ID;
得到一个
IEnumerable<the type of pointItem.ID>
。关于c# - 将嵌套循环重构为单个LINQ查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13474133/