我需要将一个类类型的点(此类型来自第三方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[]谢谢。
发布于 2020-02-01 04:04:56
假设您有一个名为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
它适用于数组或列表,但不适用于列表列表。列表列表将会有所不同。
https://stackoverflow.com/questions/60010476
复制相似问题