C# 如何将foreach嵌套循环转换为linq格式?
代码:C# 如何将foreach嵌套循环转换为linq格式?,c#,performance,linq,C#,Performance,Linq,代码: 如何将上述foreach嵌套循环转换为LINQ?此外,是否有可能进一步减少代码行、提高性能和减少执行时间?Linq用于过滤/选择/投影,而不是变异。 Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。 Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。 Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。 Lin
如何将上述
foreach
嵌套循环转换为LINQ?此外,是否有可能进一步减少代码行、提高性能和减少执行时间?Linq用于过滤/选择/投影,而不是变异。
Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。
Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。
Linq不会给您的问题中的代码带来任何性能优势,并且代码将更难理解。Linq用于过滤/选择/投影,而不是变异。
Linq不会给你的问题中的代码带来任何性能优势,,代码会更难理解。@Noobacode,我主要关心这里的性能。请参阅链接@CodingGuru,谢谢链接。我提到了这一点,但在
Linq
格式中使用ItemCollection
时,我没有找到正确的解决方案。@JohnStephen我认为Linq解决方案在这里是不可能的RadTreeViewItem
类结构不足以让LINQ使用它:它使用老式的样式,带有索引器属性、ItemCollection
等。如果您担心性能:LINQ在内部使用foreach
循环,因此您的代码与使用LINQ的代码相同,甚至更好一点,因为LINQ不会发生委托调用。@MarcinJuraszek,非常感谢。我将保持这段代码的原样。@Noobacode,我主要关心这里的性能。请参阅链接@CodingGuru,谢谢链接。我提到了这一点,但在Linq
格式中使用ItemCollection
时,我没有找到正确的解决方案。@JohnStephen我认为Linq解决方案在这里是不可能的RadTreeViewItem
类结构不足以让LINQ使用它:它使用老式的样式,带有索引器属性、ItemCollection
等。如果您担心性能:LINQ在内部使用foreach
循环,因此您的代码与使用LINQ的代码相同,甚至更好一点,因为LINQ不会发生委托调用。@MarcinJuraszek,非常感谢。我将保持这段代码的原样。@Noobacode,我主要关心这里的性能。请参阅链接@CodingGuru,谢谢链接。我提到了这一点,但在Linq
格式中使用ItemCollection
时,我没有找到正确的解决方案。@JohnStephen我认为Linq解决方案在这里是不可能的RadTreeViewItem
类结构不足以让LINQ使用它:它使用老式的样式,带有索引器属性、ItemCollection
等。如果您担心性能:LINQ在内部使用foreach
循环,因此您的代码与使用LINQ的代码相同,甚至更好一点,因为LINQ不会发生委托调用。@MarcinJuraszek,非常感谢。我将保持这段代码的原样。@Noobacode,我主要关心这里的性能。请参阅链接@CodingGuru,谢谢链接。我提到了这一点,但在Linq
格式中使用ItemCollection
时,我没有找到正确的解决方案。@JohnStephen我认为Linq解决方案在这里是不可能的RadTreeViewItem
类结构不足以让LINQ使用它:它使用老式的样式,带有索引器属性、ItemCollection
等。如果您担心性能:LINQ在内部使用foreach
循环,因此您的代码与使用LINQ的代码相同,甚至更好一点,因为LINQ不会发生委托调用。@MarcinJuraszek,非常感谢。我会保持原样,这是正确的。您可以更进一步,说LINQ将导致轻微的性能损失,因为它将转换为for循环。转换在运行时需要时间。这是正确的。您可以更进一步,说LINQ将导致轻微的性能损失,因为它将转换为for循环。转换在运行时需要时间。这是正确的。您可以更进一步,说LINQ将导致轻微的性能损失,因为它将转换为for循环。转换在运行时需要时间。这是正确的。您可以更进一步,说LINQ将导致轻微的性能损失,因为它将转换为for循环。转换在运行时需要时间。
foreach (var testItem in testItems.TestChildren)
{
RadTreeViewItem testParent1 = new RadTreeViewItem();
parent1.Header = NodeHeader(testItem.TestPath, testItem.TestName, TestSelectedPath, TestProjectData);
testParent1.TestTag = testItem;
foreach (var testChild in testItem.TestChildren)
{
RadTreeViewItem testChildren = new RadTreeViewItem();
testChildren.TestHeader = NodeHeader(testChild.TestPath, testChild.TestName, TestSelectedPath, TestProjectData);
testChildren.TestTag = testChild;
testParent1.Items.Add(testChildren);
}
TestParent.TestItems.Add(testParent1);
}