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

По вопросам, связанным с разработкой с C# версии 7.3. В большинстве случаев вам также следует указать тег C#.
4 ответа

Равенство и полиморфизм

С двумя неизменяемыми классами Base и Derived (который является производным от Base) я хочу определить равенство так, чтобы равенство всегда полиморфно - то есть ((Base)derived1).Equals((Base)derived2) позвоню Derived.Equals операторы == а также != …
26 фев '19 в 01:13
1 ответ

MSDN Tuple равенства C#7.3 странные строки

Я читал о ValueTuple на MSDN, и есть одна строка кода, которую я не понимаю в этом примере, представляющем новое равенство кортежей в C#7.3: var left = (a: 5, b: 10); var right = (a: 5, b: 10); (int a, int b)? nullableTuple = right; //this line here…
10 июл '18 в 08:36
0 ответов

C# 7.3 ref возврат с pinvoke

Я хотел бы знать, в чем разница при использовании ref return по сравнению с указателем при выполнении pinvokes. Подпись нативного метода, которую я вызываю: typedef struct Buffer { const void* Data; size_t Length; } Buffer; __declspec(dllexport) ext…
21 авг '18 в 00:30
1 ответ

Структурный указатель (адрес) и конструктор по умолчанию

Принимает ли адрес структуры C# вызов конструктора по умолчанию? Например, я получил такие структуры: [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct HEADER { public byte OPCODE; public byte LENGTH; } [StructLayout(LayoutKind.Sequentia…
08 фев '19 в 09:31
1 ответ

Почему универсальный тип ограничен 'Enum', который не может быть квалифицирован как 'struct' в C# 7.3?

Если у меня есть общий интерфейс с struct ограничение как это: public interface IStruct<T> where T : struct { } Я могу предоставить перечисление как мой тип T так, потому что enum удовлетворяет struct ограничение: public class EnumIsAStruct : …
11 май '18 в 13:58
1 ответ

Реализация GetPinnableReference, которая прикрепляет базовую строку

Я пытаюсь реализовать новый шаблон, представленный в C# 7.3, который поддерживает закрепление пользовательских типов с помощью fixed заявление. Смотрите статью на Документы Однако я обеспокоен тем, что в приведенном ниже коде я возвращаю указатель н…
09 окт '18 в 17:54
1 ответ

Запись байтового массива в Span и отправка его с памятью

Я получаю буфер и хочу создать из него новый буфер (объединяющий байты с префиксом, префиксом и постфиксом) и затем отправить его в сокет. Например: начальный буфер: "aaaa" Конечный буфер: "$4\r\naaaa\r\n" (Redis RESP Protocol - Bulk Strings) Как я …
16 май '18 в 15:25
0 ответов

Как потоки повторно используются в Asp Net Core

Здравствуйте, я строю tcp сервер, где у меня будет несколько подключенных клиентов, которые будут отправлять и получать данные на сервер. Я хочу знать, если среда не создает соотношение потоков кклиенту 1:1, но использует пул потоков, как происходит…
09 июн '18 в 14:25
1 ответ

Ошибка CS8107: функция "равенство кортежей" недоступна в C# 7.0. Пожалуйста, используйте языковую версию 7.3 или выше

У меня последняя версия Visual Studio 2017 Я пытался: Специально установите C# Version Project на 7.3 Специально установить проект версии C# на последний вручную изменить.csproj проекта (до последней версии и до C# 7.3) Обновлена ​​версия Visual Stu…
1 ответ

Как работает stackalloc?

Здравствуйте, я пытаюсь выяснить, как это stackalloc работа. Так что из C/C++ Насколько мне известно (ограничено), вы не можете распределять память в стеке динамически, как здесь: C/C++ пример: void Allocate(int length){ int vector[length]; //wont w…
4 ответа

Как получить именованные компоненты кортежа внутри запросов Linq?

Предположим, у меня есть кортежи, скажем List<(string, Table)> и я хочу перебрать его с помощью Parallel.ForEachиспользуя "именованную версию" компонентов кортежей. Следующий код делает это: List<(string, Table)> list = new List<(stri…
24 сен '18 в 10:53
1 ответ

Возможен ли интервал<T>, указывающий на фиксированные размерные буферы без фиксированного выражения?

Я использую.NET Core 2.1 и языковой стандарт 7.3. Я хотел бы сослаться на фиксированный буфер без получения указателя на него. Возможно ли это в настоящее время? public unsafe struct InteropStruct { private fixed byte dataField[32]; public Span&lt;b…
21 янв '19 в 08:23
4 ответа

C# 7.3 ValueTuple - проверка по умолчанию после деструктуризации

Я имею (string name, int val) f(bool ok) { if (!ok) return default; return ('John', 5); } Я то делаю где то var result = f(true); if (result==default) return false; var (name, val) = result; ... do something with name &amp; val Я нахожу это запутанн…
09 фев '19 в 01:32
2 ответа

Проверьте отдельные предметы из списка Valuetuple в C# 7

Пожалуйста, рассмотрите следующий список ValueTuple C#7 List&lt;(double prices, int matches)&gt; myList = new List&lt;(double, int)&gt;(); myList.Add((100, 9)); myList.Add((100.50 , 12)); Я могу сделать Foreach var i в myList, myList.Max, myList.Ave…
14 июл '18 в 10:00
0 ответов

Как прослушать ответы Redis Server на Redis CLI?

Я пытаюсь вставить свое приложение между сервером Redis и его коллегой Redis Cli. Я хочу иметь возможность видеть, что сервер отправляет Redis-Cli в качестве ответа (необработанные байты, в соответствии с протоколом RESP). Redis-Cli ----------Comman…
18 май '18 в 11:26
1 ответ

Ссылка только для чтения с типом класса

Я пытаюсь создать свойство только для чтения (функция C# 7.2). public class JobStatus { public int Id { get; set; } } public class Job { public ref readonly JobStatus Status =&gt; ref _jobStatus; private readonly JobStatus _jobStatus = new JobStatus…
30 сен '18 в 20:56
15 ответов

Код VS CSC: ошибка CS1617: неверная опция '7.3' для /langversion

Я скачал VS 2017 15.7, .NET Core 2.1.2 и Blazor, чтобы опробовать его. Он не работал в VS 2017 должным образом и думал, что я попробую через dotnet cli и VS Code. Вместо этого я встретил следующую ошибку: CSC : error CS1617: Invalid option '7.3' for…
1 ответ

Проверить элементы из списка ValueTuple и вернуть результаты в другой список ValueTuple C#7

Пожалуйста, рассмотрите следующий список ValueTuple C#7 static void Main(string[] args) { List&lt;(double prices, int matches)&gt; myList = new List&lt;(double, int)&gt;(); myList.Add((100, 10)); myList.Add((100.50 , 12)); myList.Add((101 , 14)); my…
19 июл '18 в 12:43
1 ответ

Почему полное свойство в C# может быть переопределено только с помощью геттера, но его все равно можно установить?

Я столкнулся с поведением, которое меня удивляет. Даны следующие два класса: class Parent { public virtual bool Property { get; set; } } class Child : Parent { public override bool Property { get =&gt; base.Property; } } Я могу написать код так: Chi…
16 май '18 в 17:48
1 ответ

Почему в окне просмотра Visual Studio отображаются неправильные значения ValueTuples в коллекции?

Я обнаружил, что ValueTuples оцениваются по-разному, когда я получаю доступ к их свойствам из коллекции. public static List&lt;Tuple&lt;string, bool&gt;&gt; MyTupleList = new List&lt;Tuple&lt;string, bool&gt;&gt; { new Tuple&lt;string, bool&gt;("tes…
04 дек '18 в 12:50