linq技术在以下情况下效率低多少,可以优化吗?linq技术在下列情况下效率低多少,可以优化吗?
LINQ的技术:
public String FindProviderName(Int32? TrueName)
{
String providerName = (from p in this.Providers
where p.TrueName == TrueName
select p.ProviderName).First().ToString();
return providerName;
}
走技术:
public String FindProviderName(Int32? TrueName)
{
String providerName = String.Empty;
foreach (IProvider provider in this.Providers)
{
if (provider.TrueName == TrueName)
{
providerName = provider.ProviderName;
break;
}
}
return providerName;
}
如果'ProviderName'是'string',你并不需要调用'的ToString()'就可以了。 – svick 2011-04-24 14:18:28
这是正确的BU编译器会知道,而不用在IL中运行它? – CarneyCode 2011-04-24 14:20:34
@Carnotaurus它会运行它,但它只是一个callvirt来“返回这个”,所以非常快 – 2011-04-24 14:24:04