gpt4 book ai didi

c# - 将属性添加到类列表

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:45 24 4
gpt4 key购买 nike

我有一个 OrdersInfo 列表我将 OrdersInfo 继承到 YearlyResourceReport 中并添加 12 个属性 - months (public string Jan {get;set;}) 等

现在我创建一个新类的列表(所以 [OldProperties] + [12Month])

如何将两个列表合并在一起?

class YearlyResourceReport : OrdersInfo
{
public string Jan { get; set; }
public string Feb { get; set; }
public string Mar { get; set; }
public string Apr { get; set; }
public string Jun { get; set; }
public string Jul { get; set; }
public string Aug { get; set; }
public string Sep { get; set; }
public string Oct { get; set; }
public string Nov { get; set; }
public string Dec { get; set; }

}

添加:

List<OrdersInfo> ordersList = 
WorkOrderEntity.GetYearlyOrders(year, loggedInUser, customerIds, sortBy).ToList();

List<YearlyResourceReport> newList;

我希望将属性添加到第一个列表(根本不必创建第二个列表)或者作为最后一项措施合并两个列表。

最佳答案

这应该作为一个例子让你走上正确的道路:

class A
{
public string PropertyA { get; set; }

public override string ToString() { return this.PropertyA; }
}

class B : A
{
public string PropertyB { get; set; }

public override string ToString() { return string.Format("{0} - {1}", this.PropertyA, this.PropertyB); }
}

var aList = new List<A>();
var bList = new List<B>();

for (int i = 0; i < 10; i++)
{
aList.Add(new A() { PropertyA = string.Format("A - {0}", i) });
bList.Add(new B() { PropertyA = string.Format("B::A - {0}", i), PropertyB = string.Format("B::B - {0}", i) });
}

// now list the current state of the two lists
for (int i = 0; i < 10; i++)
{
Console.WriteLine(aList[i]);
Console.WriteLine(bList[i]);
}

Console.WriteLine();
Console.WriteLine();

// now merge the lists and print that result
var newList = bList.Concat(aList.Select(a => new B() { PropertyA = a.PropertyA, PropertyB = "Created by system." }));
foreach (var item in newList)
{
Console.WriteLine(item);
}

在上面的例子中,我有一个类 AB 并且 B 继承自 A 并添加了一个属性(property)。然后,我构建了两者的列表并将它们写到 Console 中。这样做之后,我们然后合并两个列表,从 A 中创建 B,因为单个通用列表必须具有相同的类型。您可以想象使用类似 ArrayList 的东西而不是通用列表并容纳两种不同的类型 - 但我认为这不是您要找的东西。

合并类型后,我们也会将合并结果写入 Console,您会看到两个列表已合并。

如果您的要求略有不同,这将使您完成 90% 以上的工作,因为老实说,您的问题没有包含太多信息,所以您让我们假设一些东西。

注意:我使用scriptcs 来编译、运行和证明这个例子,所以它不是结构化的。

关于c# - 将属性添加到类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16192012/

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