我有以下代码需要大约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只是一个长字符串,可能包含名称