ADDING DATA TO AN ARRAY OF STRUCT

lois waisbrooker

Total Post:70

Points:494
Posted by  lois waisbrooker
C#  .NET 
 803  View(s)
Ratings:
Rate this:

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?

  1. Brad Pitt

    Post:61

    Points:429
    Re: Adding data to an array of struct

    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}
    };

    This collection type also has the Add method you are referring to in your question.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!