【问题标题】:Data Custom Array Groupping C#数据自定义数组分组 C#
【发布时间】:2011-11-30 22:01:40
【问题描述】:

我一直在努力将一些数据分组到这种格式的数组中:

http://pastebin.com/dxkCnzq3

如果您感到困惑,它会是这样的(类型数)

 new Array[Bool(2)][Bool(2)][Byte(3)][String(X)]

其中字符串的数量是动态的,而其他的则是固定的。

有没有办法在c#中实现这一点?

任何帮助表示赞赏

【问题讨论】:

  • 您能否澄清一下您所说的“组”是什么意思?你想创建一个单一的结构/类来将这些数据块保存在一起,还是你想要一个类似于 SQL 中的GROUP BY 的功能?另外,请澄清您的语法:例如,Bool(2) 是什么? 2 个Bools 的数组?两个Bool 字段?还有什么?还有,“混合”标签是什么意思?
  • 我基本上是想创建一个不同类型的多维数组,我不要求任何组功能。例如,你会做 int[,,] myArray = new int [4,2,3] - 我只是不希望所有字段都是 int。
  • 难道布尔值和字节实际上只是到达字符串数组的复合键?
  • @JonasElfström 是的!我已经阅读了人们提出的所有建议,明天我将对其进行试验,并就我是否成功地向您提供反馈。感谢大家的回复,如果您有更多建议,请说出来

标签: c# arrays types mixed


【解决方案1】:

据我了解,您需要树状结构。您可以使用其中一些解决方案:onetwothreefour

或者自己创建树结构:

class Byte
{
    byte value;
    string[] strings;
}

class Bool<T> where T: class
{
   bool value
   List<T> array;
}

比使用它:

Bool<bool> b1 = new Bool();
b1.array.Add(new Bool<Byte>());

等等……

【讨论】:

    【解决方案2】:

    听起来你可以使用元组

    var dict = new Dictionary<Tuple<bool, bool, bool, bool, int, int, int>, string[]>();
    dict[Tuple.Create(true, true, false, false, 2, 3, 5)] = new[] { "test", "pest" };
    

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 1970-01-01
      • 2010-10-23
      • 2016-06-29
      • 2011-12-27
      • 2013-07-19
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多