You can rewrite it to
List<Node> mapList = new List<Node>()
foreach (DataRow row in ds.Tables[0].Rows)
{
mapList.Add(new Node(row["Pty_id"].ToString(), row["Pty_Name"].ToString()));
}
And when you are done adding elements to the List. You can access, add, insert and modify the List as needed.
But it has nothing to do with a multidimensional array.