Описание тега system.memory
1
ответ
Должны ли структуры readonly быть неизменными в массиве?
(Примечание. Для этого примера кода требуется C# 7.2 или более поздняя версия и пакет Nuget System.Memory.) Давайте предположим, что у нас есть readonly struct следующее: public readonly struct Test { public Test(int value) { Value = value; } public…
12 дек '17 в 15:06
1
ответ
Правильный способ получить изменяемую структуру для памяти<byte> / Span<byte>?
Для реализации сетевого протокола я хочу использовать новый Memory а также Span классы для достижения нулевой копии буфера при доступе к данным через struct, У меня есть следующий надуманный пример: [StructLayout(LayoutKind.Sequential, Pack = 1)] pu…
26 май '18 в 20:34
3
ответа
Span<T> не требует назначения локальной переменной. Это особенность?
Я заметил, что следующее будет компилироваться и выполняться, даже если локальные переменные не инициализированы. Это особенность Span? void Uninitialized() { Span<char> s1; var l1 = s1.Length; Span<char> s2; UninitializedOut(out s2); va…
04 апр '18 в 14:05
1
ответ
Структурировать в его представление ReadOnlyMemory<byte>
У меня есть следующая структура: [StructLayout(LayoutKind.Sequential)] struct Message { int Header; int Data; } и я хочу отправить его по проводам, без выделения ресурсов (используя SendAsync(ReadOnlyMemory<byte>)) вызов. Как я могу получить M…
15 окт '18 в 22:02
4
ответа
В чем разница между Span<T> и Memory<T> в C# 7.2?
C# 7.2 вводит два новых типа: Span<T> а также Memory<T> которые имеют лучшую производительность по сравнению с более ранними типами C#, такими как string[], Вопрос: в чем разница между Span<T> а также Memory<T>? Зачем мне исп…
16 ноя '17 в 04:34
1
ответ
Реализация подстроки через Span<T>
Как бы реализация SubstringFromStart метод выглядит как когда Span<T> следует использовать? Если предположить, substringLength <= input.Length: ReadOnlySpan<char> span = input.AsSpan().Slice(0, substringLength); return new string(span…
06 фев '18 в 13:52
1
ответ
Работа с escape-последовательностями с помощью ReadOnlySpan<char>
ReadOnlySpan<char> Говорят, что он идеально подходит для разбора, поэтому я попытался его использовать и наткнулся на случай использования, с которым я не знаю, как обращаться. У меня есть командная строка string где префикс аргумента - и разд…
15 июл '18 в 07:47
1
ответ
Действие<Span <byte >> выдает ошибку компиляции, но делегат void TestMeDelegate(данные Span<byte>) не делает
Изучите следующий код. class Program { delegate void TestMeDelegate(Span<byte> data); static void Main(string[] args) { TestMeDelegate testMeDelegate = TestMe; Action<Span<byte>> testMeAction = TestMe; } static void TestMe(Span<…
14 сен '18 в 11:22
1
ответ
Span<T> не может быть вложенной локальной переменной. Почему это ограничение?
Следующее не компилируется. Поскольку это не анонимный метод, лямбда-выражение или выражение запроса, почему это ограничение? (Передача текста как ref ReadOnlySpan отлично работает.) void TestNestedSpan() { var text = "Some text".AsReadOnlySpan(); v…
04 апр '18 в 14:51
1
ответ
Span<T> и друзья не работают в приложении.NET Native UWP
Действия по воспроизведению: Откройте Visual Studio 2017 с последним обновлением. Создайте целевой объект проекта UWP в 10240 (это не обязательно, оно сломано во всех сборках) устанавливать System.Memory из пакетов nuget (нажмите включить пререлиз) …
18 апр '18 в 12:41
1
ответ
Где я могу найти документацию по System.Memory?
Где я могу найти реальные документы для таких вещей, как Span и Memory?
02 авг '18 в 18:57
6
ответов
Span и двумерные массивы
Можно ли использовать новую структуру Span System.Memory с двумерными массивами данных? double[,] testMulti = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 9.5f, 10, 11 }, { 12, 13, 14.3f, 15 } }; double[] testArray = { 1, 2, 3, 4 }; string testString = "H…
11 окт '18 в 00:42
1
ответ
Какие общие операции можно сделать более эффективными с помощью Span<T>?
Допустим, у меня есть веб-приложение, и я хочу использовать новое Span<T> типа, чтобы уменьшить давление ГХ и улучшить производительность. Какие образцы я должен высматривать? Были ли какие-либо типичные операции, которые команда.NET имела в в…
16 ноя '17 в 12:42
1
ответ
Использование Span<T> в качестве замены для подстроки
Я прочитал несколько статей о том, как Span можно использовать для замены определенных строковых операций. Поэтому я обновил некоторый код в моей кодовой базе, чтобы использовать эту новую функцию, однако, чтобы иметь возможность использовать ее на …
01 янв '19 в 18:28
1
ответ
Ошибка сборки Xamarin.Forms + Xamarin.ios Entityframework Core 2.1.1
Я работаю над приложением Xamarin.ios с Microsoft.EntityframeworkCore.Sqlite версии 2.1.1 с Xamarin.forms .NetStandard 2.0. Я не могу собрать приложение на iPhone, получаю следующую ошибку: MTOUCH: ошибка MT3001: не удалось AOT сборки 'имя_проекта /…
08 авг '18 в 14:52
1
ответ
Альтернатива использованию Func для возврата Span<T> или другой ссылочной структуры
Как можно передать в качестве параметра метод, который возвращает Span? using System.Memory; public Span<byte> CallSpanFactory1(Func<Span<byte>> spanFactory) { return spanFactory(); } Этот код возвращает ошибку "тип" Span "не может…
05 мар '18 в 21:57
0
ответов
Почему MemoryMarshal.Cast работает для Span<T>, но не для Memory<T>?
Кто-нибудь может объяснить, почему MemoryMarshal.Cast определяется для Span<T> но не для Memory<T>? Оба они по сути являются указателями на смежную память; поэтому я не могу понять, почему бросок Span безопаснее, чем приведение в Memory.…
13 май '19 в 09:56
1
ответ
Span - доступ к исходному значению
Я хочу получить исходное значение, которое представляет Span. Возьмите следующий код, например, как бы я, в DoWorkполучить доступ к оригинальному массиву байтов, не создавая его копию? static void Main() { var data = new byte[0x100]; DoWork(new Span…
13 мар '19 в 16:11
0
ответов
Разбор (ReadOnlySpan<char>) для примитивных типов в.NET Framework
Кто-нибудь знает о каких-либо планах по реализации перегрузок примитивных типов на основе span в платформе.NET? Я ищу функциональность, которая в настоящее время существует в.NET Core, то есть оптимизированный анализ минимального выделения кучи для …
02 июл '19 в 15:25
0
ответов
Почему класс BuffersExtensions не может копироваться в память?
Класс BuffersExtensions в C# предоставляет метод, который копирует последовательность только для чтения в Span: CopyTo (ReadOnlySequence, Span) Но он не предоставляет метод, который копирует в память. Есть ли причина для этого?
30 авг '19 в 18:37