我得到List.Find()System.IndexOutOfRangeException。问题在于它不一致,并且只在生产环境中发生。阅读关于List.Find(Predicate match) method的MSDN文档,但它确实提到了索引超出范围的异常。在什么情况下会从List.Find()方法抛出System.IndexOutOfRangeException?List <T>。查找引发System.IndexOutOfRangeException
这发生在ASP.Net应用程序中。该代码是一个静态方法里面,像这样:
private static T GetReflectionInfo<T>(object obj, string memberName) where T : System.Reflection.MemberInfo
{
var knownInfos = new List<MemberInfo>();
/// populate the list
/// this line is where the exception is thrown. T is the generic type passed in.
T info = (T) knownInfos.Find(item => item is T && item.Name.EqualsIgnoreCase(memberName));
}
[更新] - 这个问题竟然是出了故障,节点之一。感谢您的回答和评论。
向我们显示您的代码。 – 2012-04-02 20:11:02
该列表如何持续存在?在Web环境中,共享资源需要特殊处理。 – leppie 2012-04-02 20:11:31
您是否在多线程应用程序中使用它? – JaredPar 2012-04-02 20:11:34