Class + Struct is a good coding style?
<p>I am reading existing code. I noticed that there are many data object files which have a struct and a class together to define a data object. Like the following one: do you think it is a good style?</p>

<pre><code>In ONE file:

[StructLayout(LayoutKind.Sequential, Pack = 1)]
    public struct LaneDataStruct
    {
        public ushort red;
        public ushort yellow;
        public ushort green;
        public ushort blue;
        public ushort orange;
    }

public class LaneData
    {
        private LaneDataStruct laneDataStruct;
    public LaneData(ushort red, ushort yellow, ushort green, ushort blue, ushort orange)
    {
        this.laneDataStruct.red = red;
        this.laneDataStruct.yellow = yellow;
        this.laneDataStruct.green = green;
        this.laneDataStruct.blue = blue;
        this.laneDataStruct.orange = orange;
    }

    public LaneData(ushort[] values)
    {
        this.laneDataStruct.red = values[0];
        this.laneDataStruct.yellow = values[1];
        this.laneDataStruct.green = values[2];
        this.laneDataStruct.blue = values[3];
        this.laneDataStruct.orange = values[4];
    }

    public LaneData(LaneDataStruct laneDataStruct)
    {
        this.laneDataStruct = laneDataStruct;
    }

    public LaneDataStruct getLaneDataStruct()
    {
        return this.laneDataStruct;
    }

    public string toString()
    {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("LaneData.red=" + this.getLaneDataStruct().red + "\n");
        stringBuilder.Append("LaneData.yellow=" + this.getLaneDataStruct().yellow + "\n");
        stringBuilder.Append("LaneData.green=" + this.getLaneDataStruct().green + "\n");
        stringBuilder.Append("LaneData.blue=" + this.getLaneDataStruct().blue + "\n");
        stringBuilder.Append("LaneData.orange=" + this.getLaneDataStruct().orange);

        return stringBuilder.ToString();
    }
}
</code></pre>
