LINQ性能问题

时间:2015-01-09 21:30:47

标签: performance linq

我有以下代码需要大约17秒才能完成1000次比较,我希望对代码进行一些调整可以提高性能

 var cities = ExistingCities.Where(x =>
            (x.CityName == city || x.SubDomainName == city || (x.AlternativeNames != null && x.AlternativeNames.Contains(city))
                //country
             && (x.CountryName == country || x.CountryCode == country)
                //region
            && (x.RegionName == region || x.RegionCode == region)
            )
            ).ToList();

更新 抱歉没有提供更多信息。

ExistingCities是一个List< ImportCity>我从数据库中预先填充,所以我没有经常访问数据库(因为我正在使用Parrallel.ForEach,所以我只是预加载它们,然后使用LINQ查找内容,到目前为止我已经改进了性能相当多,但我希望有更多的东西可以做我的最终代码看起来像什么

    public class ImportCity
{
    public int CityID { get; set; }
    public string CityName { get; set; }
    public string SubDomainName { get; set; }
    public string AlternativeNames { get; set; }
    public string RegionName { get; set; }
    public string RegionCode { get; set; }

    public string CountryName { get; set; }
    public string CountryCode { get; set; }

}

AlternativeNames只是一个长字符串,可能包含名称

0 个答案:

没有答案