Описание тега 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…
16 ноя '18 в 00:06
1
ответ
Как работает stackalloc?
Здравствуйте, я пытаюсь выяснить, как это stackalloc работа. Так что из C/C++ Насколько мне известно (ограничено), вы не можете распределять память в стеке динамически, как здесь: C/C++ пример: void Allocate(int length){ int vector[length]; //wont w…
17 май '18 в 06:45
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<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 & val Я нахожу это запутанн…
09 фев '19 в 01:32
2
ответа
Проверьте отдельные предметы из списка Valuetuple в C# 7
Пожалуйста, рассмотрите следующий список ValueTuple C#7 List<(double prices, int matches)> myList = new List<(double, int)>(); 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 => 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…
10 май '18 в 06:25
1
ответ
Проверить элементы из списка ValueTuple и вернуть результаты в другой список ValueTuple C#7
Пожалуйста, рассмотрите следующий список ValueTuple C#7 static void Main(string[] args) { List<(double prices, int matches)> myList = new List<(double, int)>(); 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 => base.Property; } } Я могу написать код так: Chi…
16 май '18 в 17:48
1
ответ
Почему в окне просмотра Visual Studio отображаются неправильные значения ValueTuples в коллекции?
Я обнаружил, что ValueTuples оцениваются по-разному, когда я получаю доступ к их свойствам из коллекции. public static List<Tuple<string, bool>> MyTupleList = new List<Tuple<string, bool>> { new Tuple<string, bool>("tes…
04 дек '18 в 12:50