gpt4 book ai didi

c# - 在 C# 中用 List<> 替换 ArrayList

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

我广泛使用 ArrayList 并且很难使用这个 List<>。我正在使用 EntitySpace ORM 来做 DAL 的事情。这东西工作得很好,但问题是我必须定义 List<> 对象类型,它提示它无法转换它。

感谢您的帮助。

原始使用 ArrayList:

public ArrayList Get()
{
TndCustomerTendersCollection collection = new TndCustomerTendersCollection();
collection.Query
.Select
(
collection.Query.CustomerTenderID,
collection.Query.CustomerTenderID,
collection.Query.CustomerTenderCode,
collection.Query.CustomerTenderName,
collection.Query.StartDate,
collection.Query.DueDate,
collection.Query.CompleteDate,
collection.Query.DateCreated,
collection.Query.LastDateModified
)
.Where
(
collection.Query.IsActive.Equal(true)
);

ArrayList list = new ArrayList ();
foreach (TndCustomerTenders item in collection)
{
list.Add(item);
}
return list;
}

替换为List后

public List<Tender> Get()
{
TndCustomerTendersCollection collection = new TndCustomerTendersCollection();
collection.Query
.Select
(
collection.Query.CustomerTenderID,
collection.Query.CustomerTenderID,
collection.Query.CustomerTenderCode,
collection.Query.CustomerTenderName,
collection.Query.StartDate,
collection.Query.DueDate,
collection.Query.CompleteDate,
collection.Query.DateCreated,
collection.Query.LastDateModified
)
.Where
(
collection.Query.IsActive.Equal(true)
);

// HOW DO CONVERT THAT TO THAT LIST

List<Tender> list = new List<Tender>();
foreach (TndCustomerTenders item in collection)
{
list.Add(item);
}
return list;
}

最佳答案

TndCustomerTenders 和 Tender 是两种不同的类型。

您需要将 TndCustomerTenders 显式转换为 Tender,或者您需要定义隐式转换。

List<Tender> list = new List<Tender>();
foreach (TndCustomerTenders item in collection)
{
//assumes conversion via constructor
list.Add(new Tender(item));
}

List<Tender> list = new List<Tender>();
foreach (TndCustomerTenders item in collection)
{
Tender t = new Tender() { foo = item.foo, bar = item.bar };
list.Add(t);
}

关于c# - 在 C# 中用 List<> 替换 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402719/

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