簡體   English   中英

是否存在稀疏 Span<t> 適用於多個 Memory<t> 部分?</t></t>

[英]Is there a sparse Span<T> for multiple Memory<T> sections?

考慮:

        public struct Foo
        {
            public float value;
        }

        static void Main(string[] args)
        {
            var array = new Foo[10];

            var block1 = new Memory<Foo>(array, 0, 3);
            var block2 = new Memory<Foo>(array, 4, 6);

            var span1 = block1.Span;
            var span2 = block2.Span;

            foreach (ref var  f in span1) { /* do work */ }
            foreach (ref var  f in span2) { /* do work */ }

            var blocks = new[] { block1, block2 };

            foreach (var block in blocks)
            {
                foreach (ref var f in block.Span)
                {
                    /* do work */
                }
            }

            // preferred would be:
            foreach (ref var f in new Span<Foo>(blocks))
            {
                /* do work */
            }
        }

是否有跨度結構可以讓您覆蓋多個 memory 塊? 我可以編寫一個自定義枚舉器,但是為每個元素調用 Memory.Span 很慢。

我不知道您如何獲取數據,但您可能會考慮: ReadOnlySequence

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM