The simplest solution is not to use an array: use a List instead:
List<string> temp = new List<string>);
List<string> arryFilePaths = new List<string>);
You can then do this:
temp.Add(single_file);
...
arryFilePaths.Add(single_file);
And teh system will handle it all for you behind the scenes.
By the way, The ListView.Items collection also has an AddRange method, so this code:
for (int i = 0; i < _counter; i++)
{
lstImages.Items.Add(arryFilePaths[i], i);
}
Can be done in a single statement:
lstImages.Items.AddRange(arryFilePaths);