首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# LINQ多个数组到简单的对象列表

基础概念

LINQ(Language Integrated Query,语言集成查询)是C#中的一种强大的查询技术,它允许开发者以声明性方式编写查询,并且可以在多种数据源上执行这些查询。LINQ可以将查询表达式直接转换为方法调用,从而使得代码更加简洁和易读。

相关优势

  1. 类型安全:LINQ查询在编译时进行类型检查,减少了运行时错误。
  2. 可读性强:LINQ查询语法类似于SQL,易于理解和维护。
  3. 灵活性:可以轻松地对内存中的数据集合、数据库、XML文档等进行查询。
  4. 延迟执行:LINQ查询在需要时才执行,提高了性能。

类型

LINQ主要有以下几种类型:

  1. LINQ to Objects:用于内存中的数据集合。
  2. LINQ to SQL:用于关系数据库。
  3. LINQ to XML:用于XML文档。
  4. LINQ to Entities:用于Entity Framework中的数据库操作。

应用场景

假设我们有多个数组,例如:

代码语言:txt
复制
string[] names = { "Alice", "Bob", "Charlie" };
int[] ages = { 25, 30, 35 };
string[] cities = { "New York", "Los Angeles", "Chicago" };

我们希望将这些数组转换为一个简单的对象列表,例如:

代码语言:txt
复制
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

解决方案

我们可以使用LINQ来实现这一目标。以下是一个示例代码:

代码语言:txt
复制
using System;
using System.Collections.Generic;
using System.Linq;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

class Program
{
    static void Main()
    {
        string[] names = { "Alice", "Bob", "Charlie" };
        int[] ages = { 25, 30, 35 };
        string[] cities = { "New York", "Los Angeles", "Chicago" };

        List<Person> people = names
            .Select((name, index) => new Person
            {
                Name = name,
                Age = ages[index],
                City = cities[index]
            })
            .ToList();

        foreach (var person in people)
        {
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");
        }
    }
}

解释

  1. Select:使用Select方法将每个数组元素映射到一个新的Person对象。
  2. 索引:通过index参数获取对应位置的元素。
  3. ToList:将结果转换为List<Person>

参考链接

通过这种方式,我们可以轻松地将多个数组转换为一个简单的对象列表,并且代码更加简洁和易读。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分9秒

054.go创建error的四种方式

4分11秒

05、mysql系列之命令、快捷窗口的使用

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券