繁体   English   中英

如何在字典中创建更多2个参数?

[英]How to create more 2 arguments in a dictionary?

我正在尝试构建一个简单的应用程序,重点是我必须使用字典。 我的字典中将有如下数据:

(键,数,数字,数,数字)

所以下面是实现我的数据的代码。

 Dictionary<string,int,int,int,int> states = new  Dictionary<string,int,int,int,int>();

我已经看过许多解决方法的资料,但找不到。 我收到一个错误,它必须有两个参数。

您能给我一个解决方案,使字典可以容纳两个以上参数吗?

您可以创建一个类来容纳4个数字,如下所示:

public class MyData
{
    public int Number1 {get;set;}
    public int Number2 {get;set;}
    public int Number3 {get;set;}
    public int Number4 {get;set;}
}

并将其用作字典值类型,如下所示:

Dictionary<string,MyData> states = new Dictionary<string,MyDate>();

这是一个向字典添加项目的代码示例:

states.Add("my_key", new MyData { Number1 = 1, Number2 = 2, Number3 = 3, Number4 = 4});

要访问特定密钥的数据,可以使用:

MyData data = states["my_key"];

int number1 = data.Number1;
//...

要遍历所有数据,可以使用一个简单的foreach如下所示:

foreach(var kvp in states)
{
    var key = kvp.Key;

    var data = kvp.Value;

    var number1 = data.Number1;
    //...
}

MyData另一种选择是Tuple类。 但是使用自己的类型可能会更好,因为您可以为4个数字属性使用自己的名称。

如果最后四个整数的名称无关紧要,则可以使用

 Dictionary<string, List<int>>

这样,您可以使用字符串键获取int列表,然后枚举该列表。

或者,您可以使用任何数组类型,例如

 Dictionary<string, int[]>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM