我想将此方法中的foreach转换为linq表达式。我有2个try/catches,因为我不能总是指望在guid列表中传递的字符串,或者guidToFind是有效的guid字符串。foreach linq与guid比较
public static bool IsGuidInList(List<string> guids, string guidToFind)
{
try
{
var guid = new Guid(guidToFind.Trim());
foreach (var g in guids)
{
try
{
var g2 = new Guid(g.Trim());
if (g2 == guid)
return true;
}
catch {} // swallow exception
}
}
catch{} // swallow exception
return false;
}
你们快速的回应。而且,对不起,我修改了原来的方法以包含第二次try/catch ......这是因为如果列表中的某个字符串不好,意味着它不能被转换为guid, t立即退出并报错。它应该尝试列表中的所有项目。 – Kershaw
是空的Guid可以在字符串的Guid列表中? –