我有一个非常基本的问题,但我无法弄清楚。 (差不多周末; P) 我有这个函数ReadOpenCalls(int relation),它从关系中获取开放调用。
List<string> messages = new List<string>();
if (inboundSet != null && inboundSet.RecordCount > 0)
{
inboundSet.MoveFirst();
do
{
messages.Add(inboundSet.Fields["DESCRIPTION"].Value.ToString());
messages.Add(inboundSet.Fields["PK_R_INBOUNDMESSAGE"].Value.ToString());
inboundSet.MoveNext();
}
while (!inboundSet.EOF);
return messages;
}
它通过WCF调用到PHP页面。现在一切都很好,我唯一的问题是它的输出:
stdClass Object ( [string] => Array ( [0] => Webservice [1] => 1004 [2] => Webservice [3] => 1005 [4] => Webservice [5] => 1006 [6] => Webservice [7] => 1007 [8] => Webservice [9] => 1008 [10] => Webservice [11] => 1009 [12] => Webservice [13] => 1010 [14] => Webservice [15] => 1011 ) )
我真的希望输出在这种情况下将“Web服务和ID”放在一起,而不是全部放在一个大阵列中。
类似
[0] => Webservice,
1004
[1] => Webservice,
1005
请帮助我举一些例子或朝好方向拍摄。之后我会给你买啤酒;)
答案 0 :(得分:3)
而不是两次调用Add
方法,就像你在这里一样:
do
{
messages.Add(inboundSet.Fields["DESCRIPTION"].Value.ToString());
messages.Add(inboundSet.Fields["PK_R_INBOUNDMESSAGE"].Value.ToString());
inboundSet.MoveNext();
}
每次迭代只需一次,并添加两个值。
do
{
string desc = inboundSet.Fields["DESCRIPTION"].Value.ToString();
string inboundMsg = inboundSet.Fields["PK_R_INBOUNDMESSAGE"].Value.ToString()
messages.Add(desc +", "+inboundMsg );
inboundSet.MoveNext();
}
如果需要换行,请执行以下操作:
do
{
string desc = inboundSet.Fields["DESCRIPTION"].Value.ToString();
string inboundMsg = inboundSet.Fields["PK_R_INBOUNDMESSAGE"].Value.ToString()
messages.Add(desc +",\n"+inboundMsg );
inboundSet.MoveNext();
}