我试图从Web服务中获取列表的总和。
[WebMethod]
public string CalculateSum(List<int> listInt)
{
int[] sum = listInt.ToArray();
return sum; // error under sum on this line
}
但是我得到的错误无法将int转换为字符串,这应该有用吗?
客户代码:
public partial class Form1 : Form
{
List<int> listInt = new List<int>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
listInt.Add(Convert.ToInt32(textBox1.Text));
textBox1.Clear();
listBox1.Items.Clear();
for (int i = 0; i < listInt.Count; i++)
{
listBox1.Items.Add(listInt[i]);
}
}
private void button2_Click(object sender, EventArgs e)
{
CalculateSumOfList.ServiceReference1.Service1SoapClient client = new CalculateSumOfList.ServiceReference1.Service1SoapClient();
CalculateSumOfList.ServiceReference1.ArrayOfInt arrayOfInt = new CalculateSumOfList.ServiceReference1.ArrayOfInt();
arrayOfInt.AddRange(listInt);
int result = client.CalculateSum(arrayOfInt); //here
label1.Text = Convert.ToString(result);
}
}
}
我在client.CalculateSum(arrayOfInt);
答案 0 :(得分:5)
[WebMethod]
public int CalculateSum(List<int> listInt)
{
int sum = listInt.Sum();
return sum; // error under sum on this line
}
注意函数的返回值 - 你声明它返回一个字符串而不是一个整数。
答案 1 :(得分:1)
您可以使用
return sum.ToString();
或
return "" + sum;
但首先要考虑:一个总和int值的函数是否真的会返回一个字符串?它似乎更有意义作为int
函数:
public int CalculateSum(List<int> listInt)
{
int sum = listInt.Sum();
return sum; // now matches the return-type of the method
}