this is the safest way:
List<int> userGroupIDs;
foreach (var stringUserGroupID in stringUserGroupIDs)
{
int userGroupID;
if (!int.TryParse(stringUserGroupID, out userGroupID)
{
continue;
}
userGroupIDs.Add(userGroupID);
}
var myArray = userGroupIDs.ToArray();
but, as you need a variable-declaration, and i fear this can't be done with let
, you need to use a foreach
or for
not so safe way (filtering only false
):
from stringUserGroupID in stringUserGroupIDs
where !string.Equals(stringUserGroupID, "false", StringComparison.CurrentCultureIgnoreCase)
select int.Parse(stringUserGroupID)
edit:
funny ...
var userGroupID = 0;
var userGroupIDs = stringUserGroupIDs.Where(stringUserGroupID => int.TryParse(stringUserGroupID, out userGroupID)).Select(stringUserGroupID => userGroupID);
no guarantee that this works ... :)