C#类型转换/ Linq

时间:2019-06-26 12:33:04

标签: c# linq

使用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查询优化代码行

0 个答案:

没有答案