【问题标题】:Queue up arrays or write Queue to more dimensional array?排队数组或将队列写入更多维数组?
【发布时间】:2017-05-06 21:59:07
【问题描述】:

我有一组浮点数,每个浮点数有 4 个。我想将它们排队,以便稍后将队列的内容写入文件。我使用此代码:

在我的“MasterScript.cs”中:

public static Queue <float> my_pointsQ = new Queue <float> ();

用内容填充队列:

for (int i = 0; i < points_count; ++i)
            {
                MasterScript.my_pointsQ.Enqueue(my_points[i]);

            }

将队列写入文件:

using(StreamWriter writer = new StreamWriter(file)){
    foreach (float point in MasterScript.my_pointsQ) 
    writer.WriteLine (point);
}

它有效,但我每行都有一个浮动。我想每行有四个浮点数,因为原来的m_points是每个四个浮点数的数组...... 是否有可能将浮点数组排队? (当我删除 MasterScript 中的 &lt;float&gt; 并通过 foreach (object point in MasterScript.my_pointsQ) 寻址时,我也得到了单行。)

或者有没有办法将我的队列复制到一个四维数组?

【问题讨论】:

    标签: c# arrays queue


    【解决方案1】:

    您可以通过将队列类型更改为来对数组进行排队

    public static Queue <float[]> my_pointsQ = new Queue <float[]> ();
    

    看到这个:fiddle

    【讨论】:

    • 非常感谢 :) 这正是我需要的
    【解决方案2】:

    您应该能够将数组存储在队列中

    public static Queue <float[]> my_pointsQ = new Queue <float[]> ();
    

    那你应该可以这样写

    using(StreamWriter writer = new StreamWriter(file))
    {
        foreach (float[] point in MasterScript.my_pointsQ) 
             writer.WriteLine (string.Join(",",point);
    }
    

    我使用“,”作为分隔符,但您可以将其留空,或将其更改为您想要的任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      相关资源
      最近更新 更多