ASP.将项目添加到列表中
本文关键字:列表 添加 项目 ASP | 更新日期: 2023-09-27 18:13:59
我正在尝试添加项目到列表:
List<string> newList = new List<string>();
foreach (var x in dbTimeSlots.Data)
{
newList.Add(x.id.ToString());
newList.Add(x.timeSlot + " - " + x.dateSlot);
}
然而,当我只有40个项目时,我的列表返回80个项目,这是因为id将是一个项目,时间和日期将是另一个,我需要它们作为一行,但每一行应该有一个id对象,日期和时间对象。我希望这是有意义的,请帮助!!!!
我需要它们作为一行,但是每一行应该有一个id对象,并且日期和时间对象
那么您不需要List<string>
,而是需要List<CustomObject>
,其中CustomObject
是具有您指定属性的对象。然后,对于dbTimeSlots.Data
中的每个项目,您应该创建这样一个对象,然后将其添加到您的列表中。
public class CustomObject
{
public string Id { get; set; }
public string TimeSlot { get; set; }
public string DateSlot { get; set; }
}
然后是foreach
循环:
var newList = new List<CustomObject>();
foreach (var x in dbTimeSlots.Data)
{
var customObject = new CustomObject
{
Id = x.id.ToString(),
TimeSlot = x.timeSlot,
DateSlot = x.dateSlot
};
newList.Add(customObject);
}
或与LINQ
:
var newList = dbTimeSlots.Data.Select(x => new CustomObject
{
Id = x.id.ToString(),
TimeSlot = x.timeSlot,
DateSlot = x.dateSlot
}).ToList();
创建一个模型来存储您想要的类型,或者使用匿名类型
var newList = dbTimeSlots.Data.Select(x => new
{
id = x.id,
timeDateSlot = x.timeSlot + " - " + x.dateSlot
}).ToList();
另一个可能的选择是使用Dictionary
而不是List
。
var myDictionary = new Dictionary<string, string>();
foreach (var x in dbTimeSlots.Data)
{
myDictionary.Add(x.id.ToString(), x.timeSlot + " - " + x.dateSlot);
}