0

我已经通过 StackOverflow 和 Google 搜索了转换,但不幸的是我无法获得解决方案。一切都与我想要的相反。即,转换int[]List

问题

我的[WebMethod].

[WebMethod]
public int MyMethodWS(int N, List<int> M)
{
}

现在我有一个Console Application,它通过使用这个 URL 来引用这个服务:

http://localhost:61090/MyMethod.asmx?WSDL

我的控制台应用程序中有此代码:

int N;
List<int> M = new List<int>();
// Some crazy user input coding.
// Ultimately you will have non-empty M list and N int.
MyMethod.MyMethodWS DA = new MyMethod.MyMethodWS();
Sum = DA.MyMethodWS(N, M);

当我运行此代码时,我收到此错误:

#1: ' ' 的最佳重载方法匹配MyMethod.MyMethod.MyMethodWS(int, int[])有一些无效参数。

#2:参数 2:无法从 ' System.Collections.Generic.List<int>' 转换为 ' int[]'

问题

  1. 我只List在那里使用过。但为什么它试图转换为int[]
  2. 目前,WebService 和 Console Application 都在同一个解决方案中运行。这是个问题吗?我应该使用不同的解决方案,还是完全使用不同的 Visual Studio 2012 实例?
4

1 回答 1

2

它正在尝试将其转换为int[],因为MyMethodWS将 aint[]作为参数,而不是List<int>您尝试传递它。要将 a 转换List<int>int[],请调用List<T>.ToArray();

所以将行更改Sum = DA.MyMethodWS(N, M);Sum = DA.MyMethodWS(N, M.ToArray());

于 2013-10-27T12:38:00.293 回答