在C#中是否可以做类似以下的操作?
var tigerlist = new List<Tigers>(){ Tail = 10, Teeth = 20 };
var tigers_to_cats_approximation = new List<Cat>()
{
foreach (var tiger in tigerlist)
{
new Cat()
{
Tail = tiger.Tail / 2,
Teeth = tiger.Teeth / 3,
HousePet = true,
Owner = new Owner(){ name="Tim" }
}
}
}
我正在进行一些 XML API 的开发,请求对象与需要返回的响应对象非常相似。如果可能的话,这将非常方便;比自动映射更加实用。
var tigers_to_cats_approximation = tigerlist.Select(tiger => new Cat() { Tail = tiger.Tail / 2, Teeth = tiger.Teeth / 3, HousePet = true, Owner = new Owner(){name="Tim"} }).ToList();
将老虎列表转换为猫列表的近似值,代码如上。 - Ousmane D.Tiger
对象并返回一个Cat
对象(例如public Cat ConvertToCat(Tiger tiger) { return new Cat() { Tail = tiger.Tail / 2, Teeth = tiger.Teeth / 3, HousePet = true, Owner = new Owner() { name="Tim" } }; }
),然后在tigerList
上使用Select
语句调用该方法,如下所示:var catsFromTigers = tigerList.Select(tiger => ConvertToCat(tiger)).ToList();
- Rufus LtigerList.Select(ConvertToCat).ToList();
进一步缩短它。 - Ousmane D.