Iv'e look through this answer.
Can not seem to understand this line of code:
I'm trying to get as many cultures as i can.
CultureInfo[] cinfo = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);
public enum CultureTypes
{
    NeutralCultures = 1,
    SpecificCultures = 2,
    InstalledWin32Cultures = 4,
    AllCultures = 7,
    UserCustomCulture = 8,
    ReplacementCultures = 16,
    [Obsolete("This value has been deprecated.  Please use other values in CultureTypes.")]
    WindowsOnlyCultures = 32,
    [Obsolete("This value has been deprecated.  Please use other values in CultureTypes.")]
    FrameworkCultures = 64,
}
does the tilde makes the constructor behave like this?:
CultureInfo[] cinfo = CultureInfo.GetCultures(CultureTypes.AllCultures | 
CultureTypes.NeutralCultures | 
CultureTypes.SpecificCultures | 
CultureTypes.InstalledWin32Cultures | 
CultureTypes.UserCustomCulture | 
CultureTypes.ReplacementCultures );
 
     
    