gpt4 book ai didi

c# - 在单行中将一组对象转换为另一组不同类的对象。 C#

转载 作者:行者123 更新时间:2023-11-30 13:38:19 27 4
gpt4 key购买 nike

我有 2 个类,每个类都有不同的属性。我还有一组 A 类对象的集合。现在我想将它们复制到 B 类对象的数组中。

这两个类没有相互关联,而且每个类的字段也不同。所以我必须明确映射我要复制的字段。现在我正在使用 foreach 来复制单个元素。 有没有更短的方法来完成这个。这是B级

 public class Event
{
public string EventOriginTime { get; set; }
public string EventReceivedTime { get; set; }
public int EventCode { get; set; }
public string CardNumber { get; set; }
public string ReaderName { get; set; }

}

第一类 A 也会出现类似这样的内容,但那是第 3 方类。

我目前的解决方案是:

List<Event> listOfEvents = new List<Event>();
foreach (var eachEvent in eventsFromArgus)
{
listOfEvents.Add( new Event
{
ReaderName = eachEvent.DeviceName,
EventCode = eachEvent.EventCode,
EventReceivedTime = eachEvent.ReceiveTime.ToString(),
EventOriginTime = eachEvent.OriginTime.ToString(),
CardNumber = eachEvent.CredentialIdentifier
});
}

最佳答案

您可以使用 LINQ:

List<event> listOfEvents = 
(from eachEvent in eventsFromArgus
select new Event(
ReaderName = eachEvent.DeviceName,
EventCode = eachEvent.EventCode,
EventReceivedTime = eachEvent.ReceiveTime.ToString(),
EventOriginTime = eachEvent.OriginTime.ToString(),
CardNumber = eachEvent.CredentialIdentifier)).ToList();

但这与您已有的并没有太大的不同。

或者,您可以查看类似 AutoMapper 的内容.

关于c# - 在单行中将一组对象转换为另一组不同类的对象。 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481056/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com