C# 使用方法的Sbyte[]与byte[]
它是写的C# 使用方法的Sbyte[]与byte[],c#,web-services,bytearray,C#,Web Services,Bytearray,它是写的 byte[][] getImagesForFields(java.lang.String[] fieldnames) 获取给定字段的图像数组 另一方面,只要我在使用c#在asp.NET2.o上构建的web应用程序项目中使用该方法 上面声明的提供的web方法返回sbyte; 看看下面我的代码 formClearanceService.openSession(imageServiceUser); formClearanceService.prepareInstance(form
byte[][] getImagesForFields(java.lang.String[] fieldnames)
获取给定字段的图像数组
另一方面,只要我在使用c#在asp.NET2.o上构建的web应用程序项目中使用该方法
上面声明的提供的web方法返回sbyte;
看看下面我的代码
formClearanceService.openSession(imageServiceUser);
formClearanceService.prepareInstance(formId);
byte[][] fieldImagesList = formClearanceService.getImagesForFields(fieldNames);
formClearanceService.closeSession();
因此,我得到以下错误:无法将类型“sbyte[]”隐式转换为“byte[][]”
那么现在,,
1-我是否应该询问web服务提供商发生了什么?
或
2-可以使用sbyte的任何其他方式,如我假设的使用字节[],如下所示:
byte[]ssss=fieldImagesList[0]…Java有带符号的字节,因此该部分在某些方面是正确的(尽管无符号字节更自然),但令人烦恼的是它返回的是单个数组而不是锯齿状数组。我想你需要比较一些数据,看看你收到了什么和你期望的是什么 但在有符号和无符号之间进行更改非常简单:
sbyte[] orig = ...
byte[] arr = Array.ConvertAll(orig, b => (byte)b);
或者(更快)简单地说:
谁提供了这个功能?看起来文档(假设第一个引号来自于此)和代码不同步。你需要问图书馆的作者它应该做什么。@Paolo这是一个文档。过了一会儿,我会问他们,除非我从stackoverflow得到答案。没错,web服务是基于java的,web应用程序端是使用c#在asp.net平台上构建的。
sbyte[] orig = ...
byte[] arr = new byte[orig.Length];
Buffer.BlockCopy(orig, 0, arr, 0, orig.Length);