温馨提示×

c#中for循环如何与LINQ结合

c#
小樊
81
2024-09-20 06:41:25
栏目: 编程语言

在C#中,你可以将for循环与LINQ(Language Integrated Query)结合使用,以便在遍历集合时对其进行筛选、排序和投影等操作。以下是一些示例:

  1. 使用for循环和LINQ筛选:
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        // 使用for循环和LINQ筛选大于5的数字
        List<int> result = new List<int>();
        for (int i = 0; i < numbers.Count; i++)
        {
            if (numbers[i] > 5)
            {
                result.Add(numbers[i]);
            }
        }

        // 使用LINQ筛选大于5的数字
        var resultWithLINQ = numbers.Where(x => x > 5);

        Console.WriteLine("使用for循环的结果:");
        foreach (int num in result)
        {
            Console.WriteLine(num);
        }

        Console.WriteLine("\n使用LINQ的结果:");
        foreach (int num in resultWithLINQ)
        {
            Console.WriteLine(num);
        }
    }
}
  1. 使用for循环和LINQ排序:
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 5, 3, 9, 1, 7 };

        // 使用for循环和LINQ排序
        for (int i = 0; i < numbers.Count - 1; i++)
        {
            for (int j = 0; j < numbers.Count - 1 - i; j++)
            {
                if (numbers[j] > numbers[j + 1])
                {
                    int temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                }
            }
        }

        // 使用LINQ排序
        var resultWithLINQ = numbers.OrderBy(x => x);

        Console.WriteLine("使用for循环的结果:");
        foreach (int num in numbers)
        {
            Console.WriteLine(num);
        }

        Console.WriteLine("\n使用LINQ的结果:");
        foreach (int num in resultWithLINQ)
        {
            Console.WriteLine(num);
        }
    }
}
  1. 使用for循环和LINQ投影:
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // 使用for循环和LINQ投影
        List<int> squares = new List<int>();
        for (int i = 0; i < numbers.Count; i++)
        {
            squares.Add(numbers[i] * numbers[i]);
        }

        // 使用LINQ投影
        var resultWithLINQ = numbers.Select(x => x * x);

        Console.WriteLine("使用for循环的结果:");
        foreach (int square in squares)
        {
            Console.WriteLine(square);
        }

        Console.WriteLine("\n使用LINQ的结果:");
        foreach (int square in resultWithLINQ)
        {
            Console.WriteLine(square);
        }
    }
}

这些示例展示了如何在C#中将for循环与LINQ结合使用,以便在遍历集合时对其进行筛选、排序和投影等操作。

0