2013-06-06 34 views
0

我有一个可能非常基本的问题,但我无法弄清楚。 (几乎周末; P) 我有这个函数ReadOpenCalls(int关系),它从一个关系获取打开的调用。.NET数组输出

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))

我真正想要的输出有“互联网服务和ID的”,在这种情况下,待在一起,而不是所有在一个大阵。

因此,像

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

请帮我一些例子或者好的方向发展了一枪。我会后你买啤酒;)

+0

这有什么做用PHP。您的C#代码会创建一个平面列表,而这正是您可以在PHP中访问的内容。你在这里有什么问题?你问如何改变C#代码? –

+0

是的,我真的很想知道如何实现我想要的输出。我对.NET并不是很有经验,所以任何一个朝着好的方向发展都是不错的:D – Matheno

回答

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(); 
} 
+0

我欠你一杯啤酒!非常感谢,但你能解释一下你现在做了什么吗?你给出了2个值的名称,然后将它们加在一起?我想我现在明白了。 :D – Matheno

+0

@Marijke欢迎您。我只添加了名称“desc”和“inboundMsg”,以使代码“看起来不错”。您可以轻松地在一行中完成:'message.Add(inboundSet.Fields [“DESCRIPTION”]。Value.ToString()+“,”+ inboundSet.Fields [“PK_R_INBOUNDMESSAGE”]。Value.ToString()) ;'没有变量:) –

+1

就像我想的那样,哈哈,它看起来更好用的名字哈哈;)你真的救了我的一天和周末! – Matheno