我试图在其中添加一些逻辑。但我不确定如何添加第二个条件...
例如:
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!);
}
}
我该怎么做?
你的语法很完美:
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!