Consider the following code snippet:

counter = 0;
workOperations = new String [OPERATIONS.Count,2];
foreach ( System.Array o in OPERATIONS)
  workOperations[counter,0] = (string) o.GetValue(0,0);
  workOperations[counter,1] = (string) o.GetValue(0,1);
ps.Operations = workOperations;

There has got to be a better way to do this! The issue is, the ps.Operations property requries a 2-dimensional string array. (It's a list of operations to peform on a PostScript file, along with the parameters needed for each operation.)

I build that array dynamically, which means creating an ArrayList, which is "OPERATIONS" in the code. The challenge is to get the members of the ArrayList into a suitable string array. The above code is my solution.

There should be a way to do this without resorting to a loop. Just a couple of lines of code with some judicious casting, but I couldn't make anything work.

you should beable to use Array.Copy();
or since your using an arraylist do OPERATIONS.CopyTo();

I think I tried that, but can't remember. I'll re-investigate. I think one of the issues is that each element of the ArrayList contains a 2-element array...

This article has been dead for over six months. Start a new discussion instead.