转换列表<>或列表 >

问题描述 投票:0回答:1

我需要将一个类类型的点(这种类型是来自第三方API)转换为我自己制作的另一类类型的点。

以下作品:

MyPointClass myPnt = new MyPointClass(ApiPointClass apiPnt);


public class MyPointClass
{
    public double X { get; private set; } = 0;
    public double Y { get; private set; } = 0;
    public double Z { get; private set; } = 0;

    public MyPointClass(ApiPointClass apiPnt)
    {
         //X, Y, Z values of MyPointClass are determined and stuffed into properties.
    }
}

是否有一种简单的方法可以转换以下内容而没有循环?

    List<ApiPointClass>
or
    List<List<ApiPointClass>>
or
    ApiPointClass[]

谢谢。

c# list arraylist converters
1个回答
0
投票

假设您有一个名为apiPnts的IEnumerable,如果您引用System.Linq,则可以执行此操作

apiPnts.Select(point => new MyPointClass(point)).ToList();

point变量是ApiPointClass的对象,而Select在内部进行迭代。

在这种情况下,这将返回MyPointClass的列表。

参考:https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.select?view=netframework-4.8

它适用于数组或列表,但不适用于列表列表。列表列表会有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.