使用Linq查询优化C#代码
以下代码是我尝试尽可能优化的代码。想要随着当前代码行的增加而优化以下代码。可以使用Linq进行优化。 请帮我可以用来优化以下代码的所有类型的Linq运算符。
if (smsProviderLocations.Count() > 1)
{
if (countryCode != null)
{
var countryCodeResult = smsProviderLocations.Where(c => c.CountryCode == countryCode).ToList();
if (countryCodeResult.Count() >= 1)
{
if (nationalNo != null)
{
var areaCodeDigit = countryCodeResult.Select(x => x.AreaCodeDigit).FirstOrDefault();
if (!String.IsNullOrEmpty(areaCodeDigit))
{
string areacode = Convert.ToString(nationalNo).Substring(0, int.Parse(areaCodeDigit));
if (!String.IsNullOrEmpty(areacode))
{
var areacodeResult = countryCodeResult.Where(a => a.AreaCode == areacode).ToList();
if (areacodeResult.Count >= 1)
{
var priorityResult = areacodeResult.Where(p => p.Priority == 1).ToList();
if (priorityResult.Any())
{
smsProviderId = priorityResult.FirstOrDefault().SmsProviderId;
}
}
}
}
else
{
List<SmsProviderLocation> priorityResult = countryCodeResult.Where(p => p.Priority == 1).ToList();
if (priorityResult.Any())
{
smsProviderId = priorityResult.FirstOrDefault().SmsProviderId;
}
}
}
}
}
}
想要减少代码行并使用Linq查询优化代码行