我想在此添加一些逻辑。但我不确定如何添加第二个条件......
例如:
foreach (FolderAssetInfo e in folderAssetsList)
{
var foundAsset = databaseAssetsList.Find(a => a.AssetFullName == e.AssetFullName);
//I want to add an AND logic inside the parenthesis such as:
//a => a.AssetFullName == e.AssetFullName && a.AssetFirstName == e.AssetFirstName)
if (foundAsset != null)
{
Console.WriteLine(Found it!);
}
}
我该怎么做?
答案 0 :(得分:2)
你的语法很完美:
var foundAsset = databaseAssetsList.Find(a => a.AssetFullName == e.AssetFullName && a.AssetFirstName == e.AssetFirstName);
基本上,Predicate<T>
只是返回布尔值的语法。您在注释(a.AssetFullName == e.AssetFullName && a.AssetFirstName == e.AssetFirstName
)中的语法将返回一个布尔值,如同编写的那样,因此它对谓词可以正常工作。
您遇到语法错误的地方是您对Console.WriteLine
的调用 - 这将要求您添加引号:
Console.WriteLine("Found it!"); // Quotes are required here!