System.SpanTests.ReadOnlySpanTests.DangerousGetPinnableReferenceArrayPastEnd C# (CSharp) Method

DangerousGetPinnableReferenceArrayPastEnd() private method

private DangerousGetPinnableReferenceArrayPastEnd ( ) : void
return void
        public static void DangerousGetPinnableReferenceArrayPastEnd()
        {
            // The only real difference between DangerousGetPinnableReference() and "ref span[0]" is that
            // DangerousGetPinnableReference() of a zero-length won't throw an IndexOutOfRange.

            int[] a = { 91, 92, 93, 94, 95 };
            ReadOnlySpan<int> span = new ReadOnlySpan<int>(a, a.Length, 0);
            ref int pinnableReference = ref span.DangerousGetPinnableReference();
            ref int expected = ref Unsafe.Add<int>(ref a[a.Length - 1], 1);
            Assert.True(Unsafe.AreSame<int>(ref expected, ref pinnableReference));
        }