如何在 if 语句中检查是否至少设置了一个对象特定的属性<T>



我有一个以下对象的列表

public class Task
{
public string ProjectNumber { get; set; }
public string CustomerName { get; set; }
public string Name { get; set; }
public string ProjectWorkspaceUrl { get; set; }
}

我想在 If 语句中检查我的对象列表中是否至少有一个 Task 类型的对象(称之为TaskList)具有用字符串填充的属性ProjectWorkspaceUrl

这可能吗?我怎么能做到这一点?

可以使用 LINQAny(MSDN) 方法来确定集合中的任何元素是否满足条件:

TaskList.Any(t => !String.IsNullOrEmpty(t.ProjectWorkspaceUrl))

如果您有List<T>也可以使用执行相同操作的Exists(MSDN):

TaskList.Exists(t => !String.IsNullOrEmpty(t.ProjectWorkspace.Url))

像这样:

var TaskList = new List<Task>();
//list is populated here, however you're gonna do that
//this is a boolean, in case that's not clear
var isProjectWorkspaceUrlPopulated = TaskList.Any(q => !string.IsNullOrEmpty(q.ProjectWorkspaceUrl));
if(isProjectWorkspaceUrlPopulated)
{
//...something happens, one supposes
}
else
{
//.... maybe something else?
}

最新更新