0

StackOverflow と Google で変換を検索しましたが、残念ながら解決策を得ることができませんでした。すべてが私が望んでいたものとは反対でした。すなわち、 から へのint[]変換List

問題

にこのコードがあります[WebMethod]

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

これで、次のURL を使用してこのサービスを参照するConsole Applicationが作成されました。

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:System.Collections.Generic.List<int>引数 2: ' 'から ' int[]'に変換できません

質問

  1. そこだけ使ってListいます。しかし、なぜ変換しようとしているのint[]ですか?
  2. 現在、Web サービスとコンソール アプリケーションは、両方とも同じソリューションで実行されます。それって問題ですか?別のソリューションを使用する必要がありますか、または Visual Studio 2012 の別のインスタンスをまとめて使用する必要がありますか?
4

1 に答える 1

2

渡そうとしているのではなく、パラメーターとして aを取るint[]ため、に変換しようとしています。を に変換するには、 を呼び出しますMyMethodWSint[]List<int>List<int>int[]List<T>.ToArray();

したがって、行Sum = DA.MyMethodWS(N, M);を次のように変更しますSum = DA.MyMethodWS(N, M.ToArray());

于 2013-10-27T12:38:00.293 に答える