how to convert foreach to parrallel.foreach in c# : i have a foreach loop like shown below

    ArrayList list;
                                        list = ftp.GetFileList(remotepath<ftp://ftp.getfilelist(remotepath/>);
                                        //GExport_EI_DN_G_6542_StarMetroDeiraHotel&Apartment_10.235.155.37_20161120003108.xml.gz
                  
    
                      foreach (string item in list)
                                    {
                                        if (item.StartsWith("GExport_") &&(!item.ToUpper().Contains("DUM")))
                                        {
                                            path = item;
                                            //path = "GExport_EI_DN_G_6542_StarMetroDeiraHotel&Apartment_10.235.155.37_20161120003108.xml.gz";
                                            ftp.Get(dtr["REMOTE_FILE_PATH"].ToString() + path, @localDestnDir + "\\" + dtr["SOURCE_PATH"].ToString());
                                            download_location_hw = dtr["LOCAL_FILE_PATH"].ToString();
                                          //  ExtractZipfiles(download_location_hw + "//" + path, dtr["REMOTE_FILE_PATH"].ToString(), dtr["FTP_SERVER"].ToString(), dtr["FTP_USER_ID"].ToString(), dtr["TECH_CODE"].ToString(), dtr["VENDOR_CODE"].ToString());
                                        }
                                    }
                                    ftp.Close();
i converted in to foreach like shown below without luck

    ArrayList list;
                                        list = ftp.GetFileList(remotepath<ftp://ftp.getfilelist(remotepath/>);
                                        //GExport_EI_DN_G_6542_StarMetroDeiraHotel&Apartment_10.235.155.37_20161120003108.xml.gz
                                       Parallel.ForEach(list.ToArra(), item => 
                                        {
                                            if (item.StartsWith("GExport_") &&(!item.ToUpper().Contains("DUM")))
                                            {
                                                path = item;
                                                //path = "GExport_EI_DN_G_6542_StarMetroDeiraHotel&Apartment_10.235.155.37_20161120003108.xml.gz";
                                                ftp.Get(dtr["REMOTE_FILE_PATH"].ToString() + path, @localDestnDir + "\\" + dtr["SOURCE_PATH"].ToString());
                                                download_location_hw = dtr["LOCAL_FILE_PATH"].ToString();
                                              //  ExtractZipfiles(download_location_hw + "//" + path, dtr["REMOTE_FILE_PATH"].ToString(), dtr["FTP_SERVER"].ToString(), dtr["FTP_USER_ID"].ToString(), dtr["TECH_CODE"].ToString(), dtr["VENDOR_CODE"].ToString());
                                            }
                                        }
                                        ftp.Close();
It throws error like item doesnot contain StartsWith() extension methods.How to solve it