.NET数组输出

时间:2013-06-06 06:54:00

标签: c# .net arrays wcf

我有一个非常基本的问题,但我无法弄清楚。 (差不多周末; 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

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

1 个答案:

答案 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();
 }