C# 向对象动态添加嵌套列表
我需要向对象添加嵌套列表。我有一个购物车,上面有物品清单。我正在尝试将该项目列表与其他属性一起作为字符串对象发送。我把我的名单翻了一遍C# 向对象动态添加嵌套列表,c#,C#,我需要向对象添加嵌套列表。我有一个购物车,上面有物品清单。我正在尝试将该项目列表与其他属性一起作为字符串对象发送。我把我的名单翻了一遍 public string SendOrderEmailBody() { var connection = DependencyService.Get<ISQLite>().GetConnection(); var orderData = connection.Table<Item
public string SendOrderEmailBody()
{
var connection = DependencyService.Get<ISQLite>().GetConnection();
var orderData = connection.Table<ItemCartModel>().ToList();
float totalCost = 0f;
List<PlaceOrderModel> orderModel = new List<PlaceOrderModel>();
for (int i = 0; i < orderData.Count; i++)
{
totalCost += (orderData[i].ItemPrice * orderData[i].ItemQuantity);
orderModel = new List<PlaceOrderModel>
{
new PlaceOrderModel()
{
PlacedOrderItemname = orderData[i].ItemName,
PlacedOrderQuantity = orderData[i].ItemQuantity,
PlacedOrderItemDough = orderData[i].ItemDough,
PlacedOrderItemSauce = orderData[i].ItemSauce,
PlacedOrderItemPrice = orderData[i].ItemPrice
}
};
TotalCost = totalCost;
}
Order OrderDetails = new Order
{
UserName = NameText,
UserPhone = PhoneText,
OrderItems = orderModel,
TotalCost = totalCost
};
var content = JsonConvert.SerializeObject(OrderDetails);
return content;
}
公共字符串SendOrderEmailBody()
{
var connection=DependencyService.Get().GetConnection();
var orderData=connection.Table().ToList();
浮动总成本=0f;
List orderModel=new List();
for(int i=0;i
此方法确实发送列表,但仅发送购物车中的最后一个项目。
我订购的型号是
public class Order
{
public string UserName { get; set; }
public string UserPhone { get; set; }
public float TotalCost { get; set; }
public List<PlaceOrderModel> OrderItems { get; set; }
}
公共类秩序
{
公共字符串用户名{get;set;}
公共字符串UserPhone{get;set;}
公共浮动总成本{get;set;}
公共列表OrderItems{get;set;}
}
我的解决方案只是在for循环中循环,而不是将整个购物车项目添加到orderModel。列表中只保留最后一个项目的原因是因为行
orderModel=new list
实例化了一个新的下订单模型列表
一个快速的解决方案是添加一个项目,而不是重新实例化orderModel
orderModel.Add(new PlaceOrderModel()
{
PlacedOrderItemname = orderData[i].ItemName,
PlacedOrderQuantity = orderData[i].ItemQuantity,
PlacedOrderItemDough = orderData[i].ItemDough,
PlacedOrderItemSauce = orderData[i].ItemSauce,
PlacedOrderItemPrice = orderData[i].ItemPrice
});
我认为这一行是错误的,
orderModel=newlist
,因为您正在每个循环中更新列表。尝试使用orderModel.Add()
。谢谢。这很管用,但我发誓我昨天也试过。我不知道出了什么问题。@shankslimbutha很好。作为软件工程师,我们都有这样的时刻