我想返回一个数组的Fibonacci序列数组使用我在c#中使用Visual Studio 2010编写的webservice。 这是我的函数来创建序列并将其存储在数组'Fibon'返回到客户端程序。从webservice返回一个数组到客户端控制台
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public long[] Fibonacci(int length)
{
long[] Fibon;
Fibon = new long [length];
Fibon[0] = 0;
Fibon[1] = 1;
for (int i = 2; i < length; i++)
{
Fibon[i] = Fibon[i - 2] + Fibon[i - 1];
}
return Fibon;
}
}`
客户端程序中调用该函数如下:
class Program
{
static void Main(string[] args)
{
Service1 webservice = new Service1();
Console.Out.Write("\nHow many number of the Fibonacci sequence do you want returned?\n");
int Number = Convert.ToInt32(Console.In.ReadLine());
long[] Sequence = new long[Number];
Sequence = webservice.Fibonacci(Number); // PROBLEM LINE ********
Console.Out.Write("\nThe Sequence is \n\n");
for (int i = 0; i <= Number; i++)
{
Console.WriteLine(Sequence[i]);
}
Console.Out.Write(", \n\nPress ENTER to return");
Console.ReadLine();
}
}
我收到错误“无法隐式‘诠释’转换为“长[]” 当我运行函数并在它正在工作的浏览器上测试它,但返回到客户端控制台却出现错误。我究竟做错了什么?
您确定您的控制台应用程序调用了代码示例中显示的'Service1.Fibonacci()'方法吗?您的控制台应用程序是否指向正确的服务?如果你说是,你有没有证明这与调试? – 2015-03-19 01:11:24