我需要將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 '類型的第一個參數可以被發現(你是否缺少使用指令或程序集引用?) –