[英]c# how to change array to array or arrays
我有这个代码:
int[] ivrArray = { 1, 0, 0, 0};
int[] agentsArray = { 0, 2, 0, 0 };
int[] abandonedArray = { 0, 0, 3, 0};
int[] canceledArray = { 0, 0, 0, 4};
Dictionary<string, int[]> dictionary = new Dictionary<string, int[]>()
{
{ "IVR", ivrArray },
{ "Agents", agentsArray },
{ "Abandoned", abandonedArray },
{ "Cancelled", canceledArray },
};
输出是
{
"IVR": [
1,
0,
0,
0
],
"Agents": [
0,
2,
0,
0
],
"Abandoned": [
0,
0,
3,
0
],
"Cancelled": [
0,
0,
0,
4
]
}
无论如何,输出将是这样的:
"Cancelled":[
[0],
[0],
[0],
[4]
]
所以每个元素都是一个元素的数组
您可以将数组重新投影到Dictionary<string, int[][]>
如下所示:
var dictionary = new Dictionary<string, int[][]>
{
{"IVR", ivrArray.Select(_ => new[] {_}).ToArray()},
{"Agents", agentsArray.Select(_ => new[] {_}).ToArray()},
{"Abandoned", abandonedArray.Select(_ => new[] {_}).ToArray()},
{ "Cancelled",canceledArray.Select(_ => new[] {_}).ToArray()}
};
(我想如果你不想要当地的变种那么
...
{"IVR", new [] { 1, 0, 0, 0 }.Select(_ => new[] {_}).ToArray()},
...
你可以使用Jagged Arrays
概念做到这一点:
例如:
int[] list1 = new int[4] { 1, 2, 3, 4};
int[] list2 = new int[4] { 5, 6, 7, 8};
int[] list3 = new int[4] { 1, 3, 2, 1 };
int[] list4 = new int[4] { 5, 4, 3, 2 };
int[][] lists = new int[][] { list1 , list2 , list3 , list4 };
在字典中:
Dictionary<string, int[][]> items= new Dictionary<string, int[][]>;
这是MSDN文档:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.