Esempio n. 1
0
        public void SlicePointerBackedMemory()
        {
            unsafe
            {
                var data = new byte[10];
                for (int i = 0; i < 10; i++)
                {
                    data[i] = (byte)i;
                }

                fixed(byte *ptr = data)
                {
                    var memory = new UnsafeMemory <byte>(ptr, data.Length);
                    var slice  = memory.Slice(0, 5);
                    var span   = slice.Span;

                    for (int i = 0; i < 5; i++)
                    {
                        Assert.Equal(i, span[i]);
                    }

                    var subSlice = slice.Slice(2, 1);

                    Assert.Equal(2, subSlice.Span[0]);
                }
            }
        }
Esempio n. 2
0
        public void SliceArrayBackedMemory()
        {
            var data = new byte[10];

            for (int i = 0; i < 10; i++)
            {
                data[i] = (byte)i;
            }

            var memory = new UnsafeMemory <byte>(data, 0, data.Length);
            var slice  = memory.Slice(0, 5);
            var span   = slice.Span;

            for (int i = 0; i < 5; i++)
            {
                Assert.Equal(i, span[i]);
            }

            var subSlice = slice.Slice(2, 1);

            Assert.Equal(2, subSlice.Span[0]);
        }
Esempio n. 3
0
        public void SlicePointerBackedMemory()
        {
            unsafe
            {
                var data = new byte[10];
                for (int i = 0; i < 10; i++)
                {
                    data[i] = (byte)i;
                }

                fixed (byte* ptr = data)
                {
                    var memory = new UnsafeMemory<byte>(ptr, data.Length);
                    var slice = memory.Slice(0, 5);
                    var span = slice.Span;
                    for (int i = 0; i < 5; i++)
                    {
                        Assert.Equal(i, span[i]);
                    }

                    var subSlice = slice.Slice(2, 1);
                    Assert.Equal(2, subSlice.Span[0]);
                }
            }
        }
Esempio n. 4
0
        public void SliceArrayBackedMemory()
        {
            var data = new byte[10];

            for (int i = 0; i < 10; i++)
            {
                data[i] = (byte)i;
            }

            var memory = new UnsafeMemory<byte>(data, 0, data.Length);
            var slice = memory.Slice(0, 5);
            var span = slice.Span;
            for (int i = 0; i < 5; i++)
            {
                Assert.Equal(i, span[i]);
            }

            var subSlice = slice.Slice(2, 1);
            Assert.Equal(2, subSlice.Span[0]);
        }