C#中与php关联数组相对应的是什么?

7

我正在定制一个PHP购物车应用程序。在这个应用程序中,我需要将一些部分与另一个C#.net应用程序集成,所以我正在使用PHP购物车中的Web服务。在Web服务的一个方法中,一些值应该像这样作为关联数组传递:

$proxy = new SoapClient('www.mywebservice.com?wsdl');
$associative_array= array(
    'abc'=> 1,'def'=>0,'ghi'=>1,'jkl'=>0
    );

$proxy->call($sessionId, 'methodname', array('somevalue', $associative_array));

在php中,一切正常......但问题是我在C#.net上挣扎,如何传递一个关联数组?

我是一个php程序员,我认为C#.net没有关联数组,有人说可以使用C#字典来代替,但这在webservice调用中不起作用。

C#代码如下:

Dictionary<string,string> map=new Dictionary<string,string>();
map.Add("abc","1");
map.Add("def","0");
object st = mgs.call(sessionid, "methodname", new object[] { "somevalue",map  });

有人可以给些建议吗?


4
您是否真正尝试过使用字典编写C#代码,以发现它们与Web服务不兼容? - BoltClock
1
显然,SO不允许我发布lmgtfy链接?无论如何,请在Google或您喜欢的搜索引擎上快速搜索关键词“C#”、“webservice”、“dictionary”、“serializable”。 - swasheck
3
@swasheck - 不会的。这是一种粗鲁的告诉人们他们应该先搜索的方式。 - ChrisF
3
这是在谷歌搜索“C# 关联数组”后的首批结果之一。让我听你说递归!(译者注:此处为英文黑话,意为“Recursion”与“再来一次”的发音相同) - Mike Brind
3个回答

2

我认为你需要一个Dictionary<string, int>。但我可能是错的。当你调用Web服务时,你应该看看生成的类是如何使用的。

要调用Web服务,请右键单击项目的“引用”文件夹。选择“添加服务引用”。

将WSDL网址放在那里,让它为你生成类。


现在他想将那个Dictionary<string,int>传递给一个Web服务。 - swasheck


-1

2
它挂了,Jim。404。 - Leif Neland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接