internal uint GetMany <T>(uint startIndex, T[] items)
        {
            IReadOnlyList <T> objList = JitHelpers.UnsafeCast <IReadOnlyList <T> >((object)this);

            if ((long)startIndex == (long)objList.Count)
            {
                return(0);
            }
            IReadOnlyListToIVectorViewAdapter.EnsureIndexInt32(startIndex, objList.Count);
            if (items == null)
            {
                return(0);
            }
            uint num = Math.Min((uint)items.Length, (uint)objList.Count - startIndex);

            for (uint index = 0; index < num; ++index)
            {
                items[(int)index] = objList[(int)index + (int)startIndex];
            }
            if (typeof(T) == typeof(string))
            {
                string[] strArray = items as string[];
                for (uint index = num; (long)index < (long)items.Length; ++index)
                {
                    strArray[(int)index] = string.Empty;
                }
            }
            return(num);
        }
        internal uint GetMany <T>(uint startIndex, T[] items)
        {
            IReadOnlyList <T> readOnlyList = JitHelpers.UnsafeCast <IReadOnlyList <T> >(this);

            if ((ulong)startIndex == (ulong)((long)readOnlyList.Count))
            {
                return(0U);
            }
            IReadOnlyListToIVectorViewAdapter.EnsureIndexInt32(startIndex, readOnlyList.Count);
            if (items == null)
            {
                return(0U);
            }
            uint num = Math.Min((uint)items.Length, (uint)(readOnlyList.Count - (int)startIndex));

            for (uint num2 = 0U; num2 < num; num2 += 1U)
            {
                items[(int)num2] = readOnlyList[(int)(num2 + startIndex)];
            }
            if (typeof(T) == typeof(string))
            {
                string[] array = items as string[];
                uint     num3  = num;
                while ((ulong)num3 < (ulong)((long)items.Length))
                {
                    array[(int)num3] = string.Empty;
                    num3            += 1U;
                }
            }
            return(num);
        }
        internal T GetAt <T>(uint index)
        {
            IReadOnlyList <T> objList = JitHelpers.UnsafeCast <IReadOnlyList <T> >((object)this);

            IReadOnlyListToIVectorViewAdapter.EnsureIndexInt32(index, objList.Count);
            try
            {
                return(objList[(int)index]);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                int hr = -2147483637;
                ex.SetErrorCode(hr);
                throw;
            }
        }
        internal T GetAt <T>(uint index)
        {
            IReadOnlyList <T> readOnlyList = JitHelpers.UnsafeCast <IReadOnlyList <T> >(this);

            IReadOnlyListToIVectorViewAdapter.EnsureIndexInt32(index, readOnlyList.Count);
            T result;

            try
            {
                result = readOnlyList[(int)index];
            }
            catch (ArgumentOutOfRangeException ex)
            {
                ex.SetErrorCode(-2147483637);
                throw;
            }
            return(result);
        }