Using int.TryParse() within a LINQ where clause

I pretty new to LINQ, and I’m keen to get more experience using it, so whenever an opportunity arises I like to try writing LINQ queries. I needed to write a method to extract a comma separated list of numbers from a config file, and return this as List.
I was looking at ways to do this using LINQ, but hit a problem. I wanted my LINQ query to filter out any values in the CSV string that could not be parsed as an int, without causing an exception. Using int.TryParse() seemed like a possible solution, but I had problems because the TryParse() method has an out parameter to store the parsed result. I ended up with the code below, which seems to work, but looks very messy, because I think it is parsing the string twice.

public static List<int> AuthorisedGroups
{
get
   {
     string[] authorisedGroupsStr =
       ConfigurationManager.AppSettings["AuthorisedGroups"].Split(new char[] { ',' });
 
int authorisedGroupInt;                
var authorisedGroupsInt = from authorisedGroupStr in authorisedGroupsStr
              where int.TryParse(authorisedGroupStr, out authorisedGroupInt)
               select int.Parse(authorisedGroupStr);
 return authorisedGroupsInt.ToList();
  }
}

I found in a blog.
Anybody have any suggestions of how to improve this code?

Author: Site Default

12.5Yrs of experiences in Information Technology Industry with strong technical and analytical skills. 10yrs of experience in Analysis, Design, Development and Implementation of robust applications based on Microsoft Technology. 12.5yrs of experience developing ERP application for different business domains like, Production houses, Professional services, Hospitality services, Educational Services, Healthcare Services in India and USA.