G G*_* Gr 0 c# soap web-services sum
当我调用此方法时,它只返回小数位前的数字,例如:
1
2
3
= 6
Run Code Online (Sandbox Code Playgroud)
这很好,但是当我尝试:
1.5
2
3.5
= 6
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到小数位的总和?
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string CalculateSum(List<int> listDouble)
{
return listDouble.Sum().ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
}
如果我使用公共字符串CalculateSum(List<double> listDouble),结果始终为0.
无论我输入什么.
这就是我传递信息的方式:
{
CalculateSumOfList.ServiceReference1.Service1SoapClient client = new CalculateSumOfList.ServiceReference1.Service1SoapClient();
CalculateSumOfList.ServiceReference1.ArrayOfInt arrayOfInt = new CalculateSumOfList.ServiceReference1.ArrayOfInt();
arrayOfInt.AddRange(listDouble.Select(d => (int)d).ToList());
string result = client.CalculateSum(arrayOfInt);
label1.Text = Convert.ToString(result);
}
Run Code Online (Sandbox Code Playgroud)
看看你的参数:
public string CalculateSum(List<int> listDouble)
Run Code Online (Sandbox Code Playgroud)
这是一个整数列表,尽管名称.如果你认为它是双打列表,你应该改变类型:
public string CalculateSum(List<double> listDouble)
Run Code Online (Sandbox Code Playgroud)
你也需要取消注释你的正确Sum实现...返回调用ToString返回值的结果Enumerable.Select真的不会做你想要的.
| 归档时间: |
|
| 查看次数: |
1780 次 |
| 最近记录: |