Advertise with us

Adding data to an array of struct

I'm trying to add/remove data from an array of a defined struct.

struct process

{                   

    public int Proc_Id;

    public int Proc_BurstTime;

    public int Proc_Priority;

    public override string ToString()

    {

        return "ID: " + Proc_Id.ToString() + " Time: " + Proc_BurstTime.ToString() + " Prior: " + Proc_Priority.ToString();

    }

};

readonly process[] ProcessList = new process[]

{

    new process{ Proc_Id = 1, Proc_BurstTime = 3000, Proc_Priority = 1},

    new process{ Proc_Id = 2, Proc_BurstTime = 5000, Proc_Priority = 2},

    new process{ Proc_Id = 3, Proc_BurstTime = 1000, Proc_Priority = 3},

    new process{ Proc_Id = 4, Proc_BurstTime = 10000, Proc_Priority = 4}

};

Basically, what I'm exactly trying to do is populate this array of structs into a ListBox control. I have been able to initially populate it by using DataSource, I've also been able to modify the contents and "re-datasource" it to update the ListBox. However, I cannot ADD or REMOVE processes. Does anyone know what I can do?

Last updated:9/23/2013 6:54:13 AM

1 Answers

Sumit Kesarwani
Sumit Kesarwani

Hi Tanuj,


You'll need to use a collection.

A List<T> would do just fine.
var processes = new List<process>();
processes.Add(new process
{
    Proc_Id = 1,
    Proc_BurstTime = 3000,
    Proc_Priority = 1
});
Modifying your code a bit would result in this below.
List<process> ProcessList = new List<process>()
{
    new process {Proc_Id = 1, Proc_BurstTime = 3000, Proc_Priority = 1},
    new process {Proc_Id = 2, Proc_BurstTime = 5000, Proc_Priority = 2},
    new process {Proc_Id = 3, Proc_BurstTime = 1000, Proc_Priority = 3},
    new process {Proc_Id = 4, Proc_BurstTime = 10000, Proc_Priority = 4}
};

Answer