我正在将代码从旧的.NET应用程序迁移到新的.NET Core控制台应用程序。在其中一项中,我有以下两行:
int maxCount = separatorsCount.Max();
return maxCount == 0 ? '\0' : separators[separatorsCount.IndexOf(maxCount)];
separators
的类型为IList<char>
,而separatorsCount
的类型为IList<int>
。
错误消息是
方法'IndexOf'的重载没有1个参数
这是在旧.NET应用程序下使用相同代码的时候。
答案 0 :(得分:3)
将来的读者注意事项:最初的问题是separatorsCount
的类型为int[]
。
这不是在骗你:) Array.IndexOf()
的重载没有接受1个参数。在此处查看文档:{{3}}
但这也是static
方法,因此您必须像这样使用它:
Array.IndexOf(separatorsCount, maxCount)
我认为您已经习惯了https://docs.microsoft.com/en-us/dotnet/api/system.array.indexof?view=netcore-2.1,它不是静态的,需要1个参数。