0

我有一个可能非常基本的问题,但我无法弄清楚。(几乎是周末;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 ) )

在这种情况下,我真的希望输出将“Webservice 和 ID”放在一起,而不是全部放在一个大数组中。

所以像

[0] => Webservice,
       1004
[1] => Webservice,
       1005

请帮我举一些例子或朝好的方向射击。之后我会给你买啤酒;)

4

1 回答 1

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();
 }
于 2013-06-06T07:09:16.593 回答