C# ASP.NET将项目添加到列表中

C# ASP.NET将项目添加到列表中,c#,asp.net,C#,Asp.net,我正在尝试将项目添加到列表中: List<string> newList = new List<string>(); foreach (var x in dbTimeSlots.Data) { newList.Add(x.id.ToString()); newList.Add(x.timeSlot + " - " + x.dateSlot); } List newList=newList(); foreach(dbTimeSlots.Data中的var

我正在尝试将项目添加到列表中:

List<string> newList = new List<string>();
foreach (var x in dbTimeSlots.Data)
{
    newList.Add(x.id.ToString());
    newList.Add(x.timeSlot + " - " + x.dateSlot);
}
List newList=newList();
foreach(dbTimeSlots.Data中的var x)
{
添加(x.id.ToString());
添加(x.timeSlot+“-”+x.dateSlot);
}
然而,当我只有40个项目时,我的列表返回80个项目,这是因为id将是一个项目,时间和日期将是另一个项目,我需要它们作为一行,但每行应该有一个id对象,以及日期和时间对象。我希望这是有意义的,请帮助

我需要它们作为一行,但是每行都应该有一个id对象,并且 日期和时间对象

然后,您不需要
列表
,而需要
列表
,其中
自定义对象
是具有指定属性的对象。然后,对于
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);
}

创建模型以存储所需的类型或使用匿名类型

var newList = dbTimeSlots.Data.Select(x => new 
    { 
         id = x.id, 
         timeDateSlot = x.timeSlot + " - " + x.dateSlot 
    }).ToList();

另一个可能适用于您的选项是使用
字典
,而不是
列表

var myDictionary = new Dictionary<string, string>();
foreach (var x in dbTimeSlots.Data)
{
    myDictionary.Add(x.id.ToString(), x.timeSlot + " - " + x.dateSlot);
}
var myDictionary=newdictionary();
foreach(dbTimeSlots.Data中的var x)
{
添加(x.id.ToString(),x.timeSlot+“-”+x.dateSlot);
}

创建模型以存储所需类型或使用匿名类型。使用调试器。。您有两个对
.Add()
方法的调用。。你到底想干什么。。也许您应该创建一个类,然后填充该类并创建一个列表,这似乎是…的后续@Gavin解释说,在他的评论中,每个对象都会有两个字符串。示例代码,我已经筋疲力尽了,只想让它工作起来,这样我就可以回家了。上面的示例非常简单@user979331您不明白什么?@RenukaDeshmukh示例代码是在OP请求后添加的。
var myDictionary = new Dictionary<string, string>();
foreach (var x in dbTimeSlots.Data)
{
    myDictionary.Add(x.id.ToString(), x.timeSlot + " - " + x.dateSlot);
}