我需要将VB.NET
应用程序转换为C#
。项目有以下几行:无法将VB.NET转换为C#
inTrip.Stops.AddRange(trip.Stops)
inTrip.Stops.ForEach(Sub(s) s.Trip = inTrip)
但我不明白它是干什么的,所以我无法将其转换。什么是这些行的C#
的正确代码?
编辑
根据我的理解,应该是这样的:
foreach (var item in trip.Stops)
{
var item_db = mapper.Map<TripStop>(item);
inTrip.TripStops.Add(item_db);
}
foreach (var item in inTrip.TripStops)
{
item.Trip = inTrip;
}
但这些循环引用(inTrip又具有TripStops以及用于收集组旅行元素的每个元素集合)混淆了我
我不是VB.NET程序员。但我可以很容易地阅读。第一行将一个集合添加到另一个集合。第二行使用lambda表达式在集合上进行循环,并将值分配给集合中项目的属性。 C#几乎完全相同。我想你可以弄清楚这一点。 – mason
很简单。只需在两行的末尾添加分号,然后将'Sub(s)'改为'=>' – Icemanind
它看起来很简单。但是我收到一个错误:'ICollection'没有包含'AddRange'的定义,也没有接受类型'ICollection '和'ICollection '的第一个参数的扩展方法'AddRange'不包含'ForEach'并且没有扩展方法'ForEach'接受'ICollection '类型的第一个参数可以被发现(你是否缺少使用指令或程序集引用?) –