簡體   English   中英

如何從列表中的項目中刪除列表 object?

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

我有一個 class:

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

這里發送響應:

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;
}

在此處獲取List並填充數據,但問題是不希望FlightIdCountry在我發送的響應中。 如何刪除List中的這些對象? 最后在List項中應該只有PilotNameArea


更新:

我在flights = response.AllFlights;之前忘記了以下行

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

您將需要創建另一個 object 和 map 那里只有您想要的屬性。 例如:

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

然后在 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;
}

這樣,響應將僅包含PilotNameArea字段。

PD:由於缺少逗號或類似的東西,我寫的內容可能無法編譯。 抱歉,距離我上次寫 C# 已經有一段時間了,但想法是這樣的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM