Описание тега c#-7.2

По вопросам, связанным с разработкой на C# версии 7.2.
1 ответ

Есть ли недостатки в работе

Мне просто интересно, где есть минусы в использовании in Аргумент метода из C# 7.2 Я знаю, что это рекомендуется для работы со Structs, и они говорят, что это не сильно увеличит производительность, но из того, что я могу сказать, это не окажет негат…
27 мар '18 в 13:15
1 ответ

Какая польза от ключевого слова in в C#?

Какая польза от ключевого слова? C# 7.0 ввести новое ключевое слово, которое находится в. Давайте поделимся юзабилити этого нового ключевого слова.
21 ноя '18 в 08:46
1 ответ

Измените версию языка C# на 7.2 в vs-code в Linux

Я прочитал это .NET Core 2.0 Поддержка SDK C# 7.2 по умолчанию, но особенности C# 7.1 а также 7.2 отключены, и мы должны включить их. Я устанавливаю расширение SDK и C# для vs-кода, но когда я компилировал свой код, я получил эту ошибку: Program.cs …
07 мар '18 в 18:58
1 ответ

Индексаторы C# с Ref Return Получает также поддержку множеств

Я делаю что-то здесь не так, или в C# 7.2 индексаторы, которые возвращаются с помощью ref и allow set, не поддерживаются? Работает: public ref byte this[int index] { get { return ref bytes[index]; } } Тоже работает: public byte this[int index] { get…
21 мар '18 в 07:12
3 ответа

C# сбросить с оператором ref

Можно ли использовать оператор сброса C# 7 с оператором ref вместо out. Пример: int testInt; if (!Int32.TryParse(AnyString, ref testInt)) { // do something }
12 сен '18 в 08:42
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
0 ответов

В C# 7.2 я могу использовать `in` аргументы в делегатах, интерфейсах или абстрактных классах?

Я заметил, что при создании интерфейса, делегата или абстрактного метода с in В качестве аргумента я получаю ошибку компилятора (CS0518: предопределенный тип 'System.Runtime.InteropServices.InAttribute' не определен или не импортирован). Сообщение о…
04 июн '18 в 17:54
1 ответ

C# 7.2 прокси "возврат по значению"

Я пытаюсь составить и прокси ImmutableList, который имеет public ref readonly T ItemRef(int index); Я попробую: public class MyImmutableList<T> { public readonly ImmutableList<T> Value; ... public ref readonly T ItemRef(int index) => …
10 июл '18 в 00:23
1 ответ

Копировать / установить один байт в памяти<byte>

Я начинаю с System.Buffers.MemoryPool&lt;T&gt; а также System.Memory&lt;T&gt; в C#, чтобы уменьшить выделение для байтовых массивов. У меня есть куча байтов и байтовых массивов, которые мне нужно скопировать в один байтовый массив (для использования…
06 янв '19 в 21:37
0 ответов

Что, по мнению ReSharper, я пытаюсь сделать только для чтения?

Во время написания C# я случайно пропустил = new List&lt;T&gt;() от инициализатора коллекции, что означает, что я написал этот неправильный код: readonly List&lt;int&gt; x { 1,2,3 } Однако, помимо очевидных синтаксических ошибок, ReSharper аннотиров…
21 дек '17 в 14:27
1 ответ

Есть ли способ сравнить 2 ref структуры по ссылке?

Недавно я бродил, можно ли сравнить структуры по ссылке. Поскольку чтение структурной переменной создает копию этой переменной, сравнение стандартных структур по ссылке кажется невозможным. Однако, используя C# 7 refбыло бы больше смысла. Я определи…
03 фев '19 в 18:34
2 ответа

Как напрямую вызвать метод с параметром ref, используя параметр

Я использую метод из устаревшей библиотеки: F (ref T t) where T: struct, Это объявлено как ref только из соображений производительности и не изменяет данные, которые он получает. Эта библиотека не может быть изменена. В моем коде у меня есть новый м…
05 дек '18 в 15:09
1 ответ

Почему функции C# 7.2 не компилируются в приложении UWP?

... особенно, in (readonly ref) параметры. Вот моя ситуация: У меня есть проект UWP и проект UWP Unit Test в том же решении Visual Studio. Оба проекта предназначены для C# 7.2. Основной проект UWP имеет этот класс (обратите внимание на in параметры)…
03 янв '18 в 21:37
3 ответа

Span<T> не требует назначения локальной переменной. Это особенность?

Я заметил, что следующее будет компилироваться и выполняться, даже если локальные переменные не инициализированы. Это особенность Span? void Uninitialized() { Span&lt;char&gt; s1; var l1 = s1.Length; Span&lt;char&gt; s2; UninitializedOut(out s2); va…
04 апр '18 в 14:05
2 ответа

Почему приведение структуры через Pointer происходит медленно, а Unsafe.As - быстро?

Фон Я хотел сделать несколько целочисленных structs (т.е. 32 и 64 бита), которые легко конвертируются в / из примитивных неуправляемых типов одинакового размера (т.е. Int32 а также UInt32 для 32-битной структуры в частности). Структуры тогда предост…
15 июн '18 в 07:27
0 ответов

Как избежать копирования структуры, когда это поле в другой readonly ref struct

У меня есть несколько методов расширения Check&lt;T&gt; определено ниже. Они могут быть связаны вместе, и некоторые из них могут создавать новые экземпляры Check&lt;T&gt; (потому что он сам по себе неизменен, но _Success флаг (и другие флаги, не пок…
16 май '18 в 11:31
4 ответа

В чем разница между Span<T> и Memory<T> в C# 7.2?

C# 7.2 вводит два новых типа: Span&lt;T&gt; а также Memory&lt;T&gt; которые имеют лучшую производительность по сравнению с более ранними типами C#, такими как string[], Вопрос: в чем разница между Span&lt;T&gt; а также Memory&lt;T&gt;? Зачем мне исп…
16 ноя '17 в 04:34
3 ответа

Уклонение от удара по производительности при использовании `in` со структурой, не делая структуру доступной только для чтения?

В C# 7.2 добавлены две новые функции: В параметрах С помощью in для параметра давайте передадим по ссылке, но затем не позволим нам присвоить ему значение. Однако на самом деле производительность может ухудшиться, потому что она создает "защитную ко…
26 май '18 в 05:52
0 ответов

Что потребовалось так много времени для реализации Span<T> и Memory<T>?

После изучения этих новых представлений смежной памяти в C#, мне кажется, что так и должно быть с самого начала. Что является базовой технологией, которая изменилась сейчас, облегчая эти дополнения сейчас, или они были просто упущены в первоначально…
26 мар '18 в 13:30
1 ответ

Установить частный сеттер для свойства через отражение

Я знаю, что у этого есть несколько канонических ответов (которые я успешно использовал в прошлом!) См. /questions/8108098/net-reflection-ustanovit-chastnuyu-sobstvennost/8108116#8108116 и /questions/44657341/mozhno-li-ustanovit-chastnuyu-sobstvennos…
14 фев '18 в 16:35