如何操纵结构(内部数组)?

时间:2017-02-07 16:37:01

标签: c# arrays structure

这是结构:

XmlReader.Create(Stream)

它在回调函数中使用(我删除了它的大部分因此没有意义,有一个for循环遍历在表面上扫描并处理它们的每个点(arrayIndex)。结果是存储在profileBuffer中:

public struct ProfilePoint
{
    public double x;
    public double z;
    byte intensity;
}

我想处理profileBuffer中的数据(数组,x和amp; z)。

到目前为止,我“能够”创建一个从profileBuffer获取一个值的函数,并且没有来自visual studio的错误:

   public static void onData(KObject data)
            {
               if (points[arrayIndex].x != -32768)
                                        {
                                            profileBuffer[arrayIndex].x = 34334;
                                            profileBuffer[arrayIndex].z = 34343;
                                         validPointCount++;
                                        }
                                        else
                                        {
                                            profileBuffer[arrayIndex].x = 32768;
                                            profileBuffer[arrayIndex].z = 32768;
                                        }
                                    }             
                                }

这一行:

public static int ProcessProfile(double dataProfile)
{
    int test=1;

    return test;
}

进入onData()会导致没有错误,但这只是一个值。理想情况下,我想拥有整个阵列。令我困惑的是,profileBuffer中存储的每个值都是double(忘记强度)。但存储在数组中。但我无法导入ProcessProfile(profileBuffer.x)等数据;我必须指定一个索引......是否可以操纵数据的向量(行)?那对我来说是理想的。

对不起的解释/长篇帖子抱歉...我很新闻。

1 个答案:

答案 0 :(得分:1)

你需要

public static int ProcessProfile(ProfilePoint []points)
{
     var x = points[4].x;
.....
}

并做

ProcessProfile(profileBuffer);