编程语言
首页 > 编程语言> > c# – 使用.GetType()可能多次枚举IEnumerable警告

c# – 使用.GetType()可能多次枚举IEnumerable警告

作者:互联网

我使用以下代码获取ReSharper警告“可能多次枚举IEnumerable”:

public void Mymethod(IEnumerable<int> entities)
{
   var enumerator = entities.GetEnumerator();
   var entityType = entities.GetType();
}

正如在描述的多个stackoverflow主题(以及http://confluence.jetbrains.net/display/ReSharper/Possible+multiple+enumeration+of+IEnumerable)中一样,ReSharper认识到查询运行了两次.

我的问题是,为什么“GetType()”语句被识别为查询.

有什么建议吗?

提前致谢.

解决方法:

这只是Resharper不够聪明. GetType不是虚方法,它不能影响IEnumerable.

标签:c,linq,resharper,enumerator,gettype
来源: https://codeday.me/bug/20190630/1335550.html