碰到这么一个问题
通过webservice执行一个函数,返回值是一个object[]数组
然后里面每一个元素又是一个数组,也就是说object[0]本身也有一系列子元素,这些子元素是short类型数值。
但是我没能直接short[] array=object[0] as short[]这么转换。
也没能object[0][0]这样来访问object[]中第一个元素的第一个子元素。请问应该如何访问这种数值?
通过webservice执行一个函数,返回值是一个object[]数组
然后里面每一个元素又是一个数组,也就是说object[0]本身也有一系列子元素,这些子元素是short类型数值。
但是我没能直接short[] array=object[0] as short[]这么转换。
也没能object[0][0]这样来访问object[]中第一个元素的第一个子元素。请问应该如何访问这种数值?
解决方案 »
- vs2005下地图的实现
- 如何在一个程序中限制另一个程序运行,如限制QQ登入
- comboBox控件IndexOf 对象问题。
- 在线等 网络编程 tcpclient接收不到数据 急急急急急急急急急急急!
- SOCKET套接字连接问题。。。。。高手进
- 请教思归、孟子word里面怎么响应drag&drop, Insert, change之类的动作!
- 请教,同步文件操作或异步文件操作对FTP服务器性能的影响..
- 郁闷,IDbDataAdapter.Fill( DataSet )填充DataSet时,两个不同SQL语句却把结果整合到一个表中了
- 字符串压缩,我的测试代码出错,需要帮忙。
- C#下如何实现窗体停靠
- C#启动线程,发现窗体没反应. 有何方法?
- C#正则表达式 Regex.Matches 使用变量条件
只能用对象管理器看见提供的函数原型
public object[] GetData(int Id)webservice的设计者跟我说可以short[] data=object[0]这么用,但是实际上不行,data数组没有值
他自己都不知道他写的东西能做什么,他写的东西你还怎么调用。
对啊,就这样就可以啊
short[] data=(short[])(object[0]);
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public System.Collections.ArrayList GetData(int Id)
{
DataClassesDataContext db = new DataClassesDataContext();
Ecg ecg = db.Ecgs.First(p => p.id == ecgId);
short[,] data = (short[,])Helper.ByteArrayToObject(ecg.ecg_data.ToArray()); System.Collections.ArrayList al = new System.Collections.ArrayList();
int length = data.GetUpperBound(1); for (int k = 0; k < 12; k++)
{
System.Collections.ArrayList inner = new System.Collections.ArrayList();
for (int i = 0; i < length; i++)
{
inner.Add(data[k, i]);
}
al.Add(inner);
} return al;
}
我看到了源代码,但是不知道怎么把数据取出来。
把webservice函数返回的object[]直接转arrayList,编译时也提示不能转
这个有点蛋疼,不太清楚webservice内部的数据转换,ArrayList会返回出什么东西来。
后来我的数据读出来了,这么搞一搞单个数据强制转换,挨个取出来后,再存到数组里
short data=(short)(((object[])ecgData[i])[j]);
这是偶用的。。肯定是没问题的。也是调用webservice的方法返回的。只是用了异步而已
如果你的是short数组的数组那么换一下
short[][] relations = webRtn as short[][];
试试看了