Я пишу консольное приложение ac #, используя .NET 4.7.2.У меня есть список объектов, и я хочу получить список всех строк PackageName
из этого списка, где PackageDependency == ""
.Я видел несколько сообщений SO, в которых он получает один объект из списка на основе таких критериев, как этот, используя .FirstOrDefault
, но мне нужно получить все объекты, а не только один.
Вот мой класс объектов:
public class PackageDetails
{
public string PackageName { get; set; }
public string PackageDependency { get; set; }
}
Создание списка и его загрузка:
List<Objects.PackageDetails> Example = new List<Objects.PackageDetails>()
{
new Objects.PackageDetails {PackageName = "package1", PackageDependency = "dependency 1" }
, new Objects.PackageDetails {PackageName = "package2" }
, new Objects.PackageDetails {PackageName = "package3"}
, new Objects.PackageDetails {PackageName = "package4", PackageDependency = "dependency 2" }
};
Тогда вот, где мне нужно некоторое руководство.Вот что я смог придумать до сих пор:
var a = Example.Select(x => x.PackageDependency == "");
, но когда я наведите курсор мыши на a
, это даст мне результаты
False, True, True, False
, поэтому он идентифицирует объекты, где PackageDependency == ""
, но мне нужно, чтобы код заполнял List<string>
, который содержит PackageName
для любого объекта, где PackageDependency == ""
, таквывод из приведенного выше примера должен быть List<string>
со значениями
package2
и
package3
Если бы кто-то мог указать мне правильное направление, я был бы очень признателен.