我在List.Find()上得到一个System.IndexOutOfRangeException.问题是它不一致,并且只在生产环境中发生.浏览List.Find(谓词匹配)方法的MSDN文档,但它确实说明索引超出范围异常.在什么情况下会从List.Find()方法抛出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));
}
Run Code Online (Sandbox Code Playgroud)
[更新] - 问题结果证明其中一个节点有问题.感谢您的回答和评论.