System.Globalization.CultureTable.LookupIetfName C# (CSharp) Method

LookupIetfName() private method

private LookupIetfName ( String name ) : String
name String
return String
        unsafe internal String LookupIetfName(String name)
        {
            BCLDebug.Assert(name!=null,"CultureTable.LookupIetfName(): name!=null");

            // Get our culture table item, don't have to use cache because it should've
            // been cached already in CultureInfo.GetCultureInfoByIetfLanguageTag().
            int left = 0;
            int right = m_pCultureHeader->numIetfNames - 1;

            while (left <= right)
            {
                int mid = (left+right)/2;
                int result = CompareStringToStringPoolStringBinary(name, m_pIetfNameIndex[mid].strIetfNameOffset);

                if (result == 0)
                {
                    // They matched, return the real culture name
                    return GetStringPoolString(m_pIetfNameIndex[mid].strCultureNameOffset);
                }
                if (result < 0)
                    right = mid - 1;
                else
                    left = mid + 1;
            }

            // Not found, return null
            return null;
        }