我有一个webservice,它返回一个带有数据的对象
object data = _wsUsuario.CarregarDadosUsuario(_view.Usuario);
此对象名为data
,返回以下内容:
[0] 84
[1] Marcelo Camargo
[2] myemail@myprovider.com
[3] 2
如果我尝试做
MessageBox.Show(data[0]);
然后编译器说我:
Cannot apply indexing to an expression of type 'object'
。我搜索并想知道是否有办法将字符串和整数的对象转换为数组。你能帮我个忙吗?
答案 0 :(得分:2)
假设数据是一个字符串数组,那么你需要相应地转换它:
object[] oData = (data as object[]) ?? new object[0];
这将 TRY 转换为object[]
但如果它不可转换,它将返回null,而空合并运算符??
将返回一个空对象数组
答案 1 :(得分:1)
对象不有索引器。数组 。
我认为你将函数返回类型从特定的强类型对象(某种数组)下载到基本的'对象'中。
会发生什么:
// res should be an array
CarregarDadosUsuarioReturnType res = _wsUsuario.CarregarDadosUsuario(_view.Usuario);
MessageBox.Show(res[0]);
如果由于任何原因,该服务隐式收到一个对象,只需将其转换为:
object data = _wsUsuario.CarregarDadosUsuario(_view.Usuario);
var arr = data as ArrType[]; // where ArrType = the array type.
MessageBox.Show(arr[0]);