Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C从ColdFusion查询bean获取值的最佳方法是什么#_C#_Coldfusion - Fatal编程技术网

C# 使用C从ColdFusion查询bean获取值的最佳方法是什么#

C# 使用C从ColdFusion查询bean获取值的最佳方法是什么#,c#,coldfusion,C#,Coldfusion,我必须调用一个ColdFusion web服务,它返回一个QueryBean。它返回一组复杂数组,其中包含我要查找的值。当我打电话时,我得到了我期望的数组中的所有数据,但现在我试图得到这些数据,它一直告诉我我缺少了一些东西,或者我无法使用对象的索引 我在VS2010中创建了一个名为DAM_Search的web引用,并使用以下命令调用它 DAM_Folder.folderService obj_Folder = new DAM_Folder.folderService(); DAM_Folder.

我必须调用一个ColdFusion web服务,它返回一个QueryBean。它返回一组复杂数组,其中包含我要查找的值。当我打电话时,我得到了我期望的数组中的所有数据,但现在我试图得到这些数据,它一直告诉我我缺少了一些东西,或者我无法使用对象的索引

我在VS2010中创建了一个名为DAM_Search的web引用,并使用以下命令调用它

DAM_Folder.folderService obj_Folder = new DAM_Folder.folderService();
DAM_Folder.QueryBean qBean = bj_Folder.getfolder("1-Key", str_Folder_ID);
我得到的是qBean,其中包含4个数组,前两个数组是

qBean.columnList[10]
qBean.columnListField[10]
和包含数据行中使用的字段的名称。其次是

qBean.data[4]
qBean.dataField[4]
这是返回数据的地方。在上面的示例中,qBean返回4行数据。数据与
列列表[10]
中指定的列的值一起位于一个数组中

我想既然一张图片值1000个字,这可能会有所帮助


(来源:)

我现在要做的是从
qBean.data[0][0]
的内部数组中获取数据。当我尝试
时,在即时窗口中?数据[0]
它返回正确的值数组

我试过以下方法

? qBean.data[0][0] 
"Cannot apply indexing with [] to an expression of type 'object'"

? qBean.data[0].[0]
Identifier expected

? qBean.data[0,0]
Wrong number of indices inside []; expected 1

那么,我的Stackoverflow用户朋友们,我需要做什么来获取这个对象的值呢?我觉得这是件简单的事情,我只是想了很久,但现在这让我感到很不舒服。

我想试试qBean.data[0][0].toSting()

好的,所以我有点跑题了,没有回去用变通方法更新原始问题。很抱歉

我的解决方案是将
qBean.Data[0]
转换为
IEnumerable
对象。然后我通过一个
foreach
循环运行它,该循环将数据反馈到一个数组中,我可以将该数组传递回调用函数。比如,

string[] FileData = new string[0];            
foreach (var var_Value in (IEnumerable)qBean.data[0])
        {
            Array.Resize<string>(ref FileData, FileData.Length + 1);
            FileData[FileData.Length-1] = var_Value.ToString();
        }
string[]FileData=新字符串[0];
foreach(在(IEnumerable)qBean.data[0]中的var_值)
{
Array.Resize(ref FileData,FileData.Length+1);
FileData[FileData.Length-1]=var_Value.ToString();
}
现在我知道这是可行的,我将从QueryBean中的另一个数组中提取一个计数,并在启动
foreach
之前设置
FileData[]
大小,这样我就不必用
数组复制数组21次。调整大小
。虽然目前我处理的数据很小,但我永远不知道将来会是什么


蒂姆

我试过了,我得到了错误;无法将带[]的索引应用于“object”类型的表达式,正如您所看到的,它实际上是一个对象数组,而不是字符串数组。我想我找到了一个解决办法,请参阅我对原始帖子的更新。因为CF编号为1的数组,所以它不允许您将这些数组视为数组。我的猜测是,它们实际上存储为结构。能否尝试将“0”作为字符串传入?比如…qBean.data[“0”].[0”]?