方法'IndexOf'的重载不接受1个参数。在.NET框架下工作,但不在.NET Core下工作

时间:2018-12-06 14:42:01

标签: c# arrays .net-core

我正在将代码从旧的.NET应用程序迁移到新的.NET Core控制台应用程序。在其中一项中,我有以下两行:

int maxCount = separatorsCount.Max();
return maxCount == 0 ? '\0' : separators[separatorsCount.IndexOf(maxCount)];

separators的类型为IList<char>,而separatorsCount的类型为IList<int>

错误消息是

  

方法'IndexOf'的重载没有1个参数

这是在旧.NET应用程序下使用相同代码的时候。

1 个答案:

答案 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个参数。