写的是
byte[][] getImagesForFields(java.lang.String[] fieldnames)
获取给定字段的图像数组。
另一方面,只要我使用c#;
在asp.net 2.o上构建的web应用程序项目中使用该方法上面声明的提供的web方法,返回sbyte; 看看下面的代码;
formClearanceService.openSession(imageServiceUser);
formClearanceService.prepareInstance(formId);
byte[][] fieldImagesList = formClearanceService.getImagesForFields(fieldNames);
formClearanceService.closeSession();
因此我收到以下错误:无法将类型'sbyte []'隐式转换为'byte [] []'
现在, 1-我应该问网络服务提供商发生了什么? 要么 2-任何其他可以使用sbyte的方式,因为我假设使用byte [] [],如下所示: byte [] ssss = fieldImagesList [0] ..
答案 0 :(得分:1)
Java已经对字节进行了签名,因此该部分在某些方面是正确的(尽管无符号字节更自然) - 但令人烦恼的是它返回单个数组而不是锯齿状数组。我希望你不得不比较一些数据,看看你收到了什么与预期的结果。
但是在signed和unsigned之间进行更改可以很简单:
sbyte[] orig = ...
byte[] arr = Array.ConvertAll(orig, b => (byte)b);
或(更快)简单地说:
sbyte[] orig = ...
byte[] arr = new byte[orig.Length];
Buffer.BlockCopy(orig, 0, arr, 0, orig.Length);