简体   繁体   English

如何从列表中的项目中删除列表 object?

[英]How to remove list object from an item in List?

I have a class:我有一个 class:

public class FlightDetails
{
    public string FlightId {get; set;}
    public string PilotName {get; set;}
    public string Area {get; set;}
    public string Country {get; set;}
}

Here sending response:这里发送响应:

public async Task<List<FlightDetails>> GetFlightAsync(string FlightId)
{
    //
    var flights = new List<FlightDetails>();
    flights = response.AllFlights;
    flights = flights.Where(x => x.FlightId.Contains(FlightId)).ToList();
    //
    return flights;
}

Getting List here and data is filled but issue is don't want FlightId and Country in the response which I am sending.在此处获取List并填充数据,但问题是不希望FlightIdCountry在我发送的响应中。 How to remove this objects in the List ?如何删除List中的这些对象? Finally in the List item there should be only PilotName and Area .最后在List项中应该只有PilotNameArea


Update:更新:

I forgot the following line before the flights = response.AllFlights;我在flights = response.AllFlights;之前忘记了以下行:

    var request = await _rest.Get<WorldFlights>(url + $"?FlightId={FlightId}");

You will need to create another object, and map there only the properties you want.您将需要创建另一个 object 和 map 那里只有您想要的属性。 For example:例如:

public class FlightDetailsResponse
{
    public string PilotName {get; set;}
    public string Area {get; set;}
}

And then in the function:然后在 function 中:

public async Task<List<FlightDetailsResponse>> GetFlightAsync(string FlightId){
    
    var flights = response.AllFlights;
    var flightResponses = flights
        .Where(x => x.FlightId.Contains(FlightId).ToList())
        .Select(x => new FlightDetailsResponse{
            PilotName = x.PilotName,
            Area = x.Area
        });
    
    return flightResponses;
}

This way the response will only contain the PilotName and Area fields.这样,响应将仅包含PilotNameArea字段。

PD: What I wrote might not compile because of missing commas or something like that. PD:由于缺少逗号或类似的东西,我写的内容可能无法编译。 Sorry, it has been some time since I last wrote C#, but the idea is that.抱歉,距离我上次写 C# 已经有一段时间了,但想法是这样的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM