c# - 多维关联数组 C#

标签 c# asp.net multidimensional-array associative-array

来自 PHP 背景的我可以用 PHP 做到这一点:

$array[sales_details][uid] = 1;
$array[sales_details][name] = "Name Surname";
$array[sales_details][sales][France][Paris] = 50;
$array[sales_details][sales][France][Lyon] = 25;
$array[sales_details][sales][UK][London] = 75;
$array[sales_details][sales][German][Berlin] = 23;

如何在 C# 中执行此操作?我试着查字典。但即使我将值键定义为对象,它也不会接受“sales”数组。

var dict = new Dictionary<string, object>();
dict["uid"] = 1;
dict["sales"]["France"]["Paris"] = 50; //error kicks in here

这可以用 C# 实现吗?

最佳答案

在我看来,您试图将很多信息放入数组中,而实际上必须是一个对象。

您可以使用 jagged arrays 解决此问题,但对象要好得多。

创建一个这样的类:

public class SalesDetails
{
    public string Uid {get;set;}
    public string Name {get;set;}

    public List<SalesItem> SalesItems {get;set;} = new List<SalesItem>();
}

然后自己计算出 SalesItemCity 以及您需要的所有其他对象。

关于c# - 多维关联数组 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34872932/

相关文章:

c# - 输入字符串的格式不正确

c# - 将新 child 添加到现有 child

asp.net - JQuery BlockUI 与 UpdatePanel View 状态问题

c - 是否可以使用 C 为函数中的参数创建默认值?

C# 检测按键,避免非键入键

c# 波形文件的变调

asp.net - 如何在矩阵 RDLC 控件中将月份名称显示为标题,就像它在结果集中一样?

Java从帖子中解析多维数组

python - NumPy 中 random.choice 的多维数组

c# - 如何将 Citrix 中的 C# 程序实例限制为每个用户 1 个