0

我正在尝试实现我已经在 C# 中创建的 PHP 函数,但我不知道 C# 中用于导航字典的语法!(PHP 中的关联数组)。我所做的基本上是制作一个 foreach 循环来打印关联数组中属性的每个实例。我不确定我的问题是否完全清楚,以便更容易,C# 相当于什么?

foreach ( $data->response->docs as $info )
{
    echo "{$info->EventId},";
    echo "{$info->VenueName},";
}

我只需要在正确的语法方向上轻推一下。

谢谢

编辑-

哎呀,当我发布这个问题时,我很累。我的问题是如何导航从 JSON 序列化的字典。在我的示例中,我从该示例数据中解析了两个属性:-

{"responseHeader":{"status":0,"QTime":2},"response":{"facet_counts":{},"numFound":110,"docs":[{"VenueSEOLink":"/Aberdeen-Music-Hall-tickets-Aberdeen/venue/443660","VenueId":"10512085..... 

等等等等……

因此,我试图弄清楚如何通过 dict 降低多个级别。(C# 等价于 ->)

4

1 回答 1

0

在 C# 中,您可以使用 aSystem.Collections.Dictionary或泛型System.Collections.Generic.Dictionary<TKey, TObject>. 我推荐通用字典,因为它是强类型的,而且您不必在每次检索对象时都转换内容。

假设您的 EventId 是一个int,您可以像这样访问它:

Dictionary<int, string> info = new Dictionary<int, string>();
int eventId = 42;
info[eventId] = "Some value";

var value = info[eventId];
// value = "Some value" as string

如果您使用string键,只需将字典定义和键类型从int更改为string

要迭代字典(或任何集合或其他实现 的对象IEnumerable),您使用与 PHP 中基本相同的语法:

foreach (var item in info) {
  // Do something with item
}

更多信息 Systems.Collections.Generic.IDictionary 在这里。

于 2012-09-05T22:56:28.207 回答