Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
This refactoring applies to:
- C#
What: Lets you easily convert your foreach loop that uses an IEnumerable to a LINQ query or a LINQ call form (also known as a LINQ method).
When: You have a foreach loop that uses an IEnumerable, and you want that loop to read as a LINQ query.
Why: You prefer to use LINQ syntax rather than a foreach loop. LINQ makes a query into a first-class language construct in C#. LINQ can reduce the amount of code in a file, make the code easier to read, and allow different data sources to have similar query expression patterns.
Note
LINQ syntax is typically less efficient than a foreach loop. It's good to be aware of any performance tradeoff that might occur when you use LINQ to improve the readability of your code.
Convert a foreach loop to LINQ refactoring
Place your cursor in the
foreach
keyword.Press Ctrl+. to trigger the Quick Actions and Refactorings menu.
Select Convert to LINQ or Convert to Linq (call form).
Sample code
using System.Collections.Generic;
public class Class1
{
public void MyMethod()
{
var greetings = new List<string>()
{ "hi", "yo", "hello", "howdy" };
IEnumerable<string> enumerable()
{
foreach (var greet in greetings)
{
if (greet.Length < 3)
{
yield return greet;
}
}
yield break;
}
}
}