Описание тега switch-expression
В C# и Java выражения переключателя являются альтернативой оператору переключения, который возвращает значение.
13
ответов
Оператор переключения нескольких переменных в C#
Я хотел бы использовать оператор switch, который принимает несколько переменных и выглядит так: switch (intVal1, strVal2, boolVal3) { case 1, "hello", false: break; case 2, "world", false: break; case 2, "hello", false: etc .... } Есть ли способ сде…
01 ноя '11 в 13:54
10
ответов
C# как использовать enum с switch
Я не могу понять, как использовать переключатели в сочетании с перечислением. Подскажите, пожалуйста, что я делаю не так и как это исправить? Я должен использовать перечисление, чтобы сделать базовый калькулятор. public enum Operator { PLUS, MINUS, …
28 фев '13 в 12:56
15
ответов
Объединить возврат и переключатель
Как я могу совместить return а также switch case заявления? Я хочу что-то вроде return switch(a) { case 1:"lalala" case 2:"blalbla" case 3:"lolollo" default:"default" }; Я знаю об этом решении switch(a) { case 1: return "lalala"; case 2: return "bla…
26 июл '10 в 10:53
2
ответа
Возвращает универсальное значение из выражения switch в Java-12
Мне интересно, есть ли возможность вернуть универсальный тип из выражения переключателя Java 12. Базовый код может выглядеть так: boolean result = switch(ternaryBool) { case TRUE -> true; case FALSE -> false; default -> throw new IllegalArg…
10 мар '19 в 22:28
1
ответ
Несколько случаев в переключателе C# 8.0
В традиционном переключателе C# у нас есть такая конструкция, где мы можем объединять несколько случаев. Как это можно сделать в новой конструкции коммутатора C# 8.0? switch (value) { case 1: case 2: case 3: //do some stuff break; case 4: case 5: ca…
04 апр '19 в 07:45
2
ответа
Выражения переключателя intellij Java 12 не работают
Я пытаюсь использовать Java 12 в IntelliJ, но при попытке запустить мое приложение возникает ошибка Error:(57, 32) java: switch expressions are a preview feature and are disabled by default. (use --enable-preview to enable switch expressions) Я доба…
28 апр '19 в 08:28
4
ответа
Что произойдет, если мое выражение переключателя C# не является исчерпывающим?
В C# 8 были введены выражения переключения. Что происходит, если выражение switch не является исчерпывающим? Другими словами, что произойдет, если я не проверю все возможные значения? static void Main(string[] args) { int x = 1; int imExhaustive = x…
09 май '19 в 21:54
7
ответов
C# 8 переключить выражение несколько случаев с одинаковым результатом
Как нужно написать выражение-переключатель для поддержки нескольких случаев, возвращающих один и тот же результат? С C# до версии 8 переключатель может быть записан так: var switchValue = 3; var resultText = string.Empty; switch (switchValue) { case…
20 июн '19 в 00:40
1
ответ
Оператор переключения C# 8.0 с void
Я получаю следующую ошибку: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement public void LogClientSideErrors(string message, ValidationType validationType) => validationType switch { Valida…
11 авг '20 в 16:34
2
ответа
Полная асинхронность при использовании конвейера
Если у меня есть приложение, которое использует конвейер со многими этапами, которые нужно выполнить, используя foreach на всех этапах и звоните: CanExecute Execute Интерфейс такой: public interface IService { bool CanExecute(IContext subject); ICon…
05 ноя '19 в 19:15
2
ответа
Каков приоритет операторов для новых выражений переключателя C# 8.0?
Я только что обновил свой текущий проект до недавно выпущенных.NET Standard 2.1 и C# 8.0 и решил преобразовать несколько больших switchоператоров в новый, гораздо более компактный синтаксис выражений. Поскольку возвращенные значения в дальнейшем исп…
25 сен '19 в 00:00
2
ответа
java - вернуть строку с регистром переключателя
Я пробовал использовать перечисление в первый раз. Для некоторых тестов я хочу переопределить метод toString моего перечисления и вернуть String с выбранным перечислением. Вот мой код: @Override public String toString() { return "Fahrzeuge{" + switc…
07 сен '19 в 14:52
1
ответ
Выражение переключателя в C# 8 недостаточно "умное"
Этот код прост, обычный переключатель: bool? isSomething = strSomething switch { "I" => true, "D" => false, _ => null, }; Однако компилятор выдает следующую ошибку: CS0037 Невозможно преобразовать null в 'bool', поскольку это тип значения, …
09 сен '19 в 00:54
3
ответа
С # 8.0 возвращаемый тип выражения переключения и нулевое значение
Я пытаюсь понять, как работают выражения переключателя C# 8.0, и у меня есть несколько вопросов. Почему нельзя использовать nullзначение в случае по умолчанию? Компилятор бросаетCannot convert null to 'int' because it is a non-nullable value type ош…
19 ноя '19 в 00:59
2
ответа
Выражения переключателя C# нулевой регистр
Я провел небольшое исследование, но не нашел ответа на этот вопрос. Есть ли для представления нулевого случая в выражениях переключателя С # 8 таким образом, чтобы компилятор распознавал и не запускал предупреждение для ссылкиx в базовом случае при …
14 янв '20 в 06:38
4
ответа
Использование блоков в выражении переключателя C#?
Мне не удалось найти документацию по этой проблеме. (возможно, я просто плохо использую Google...) Я предполагаю, что ответ отрицательный, однако я не понял, где это рассматривается в документации. Если быть точным, у меня следующий вопрос. Предполо…
14 янв '20 в 10:50
1
ответ
Несколько операторов в выражении переключателя с # 8
Выражение переключения было введено в C# 8. В кодовой базе есть много мест, которые можно переписать в новом стиле. Итак, у меня есть код, который используется для разбора пакетов из потока байтов: switch (command) { case Command.C1: return new P1()…
24 янв '20 в 07:04
1
ответ
Переключение делегирования не рассматривается в покрытии кода
При работе с корпусами переключателей я обнаружил следующую проблему. R# показал мне упрощение оператора switch, который в основном привязывает делегата к метке case, когда вы назначаете переменную. var shape = shapeType switch { ShapeType.Ellipse =…
27 фев '20 в 15:56
1
ответ
Выражение переключателя в функции Azure вызывает исключение
Написание функции C# Azure и попытка использовать выражения переключателя C#8. Согласно документам https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.switchexpressionexception?view=netcore-3.1, они показывают, что это должно…
30 апр '20 в 22:33
2
ответа
Как объявить параметры, возвращаемые выражением переключателя C# 8?
Я смотрю на этот код: public enum MO { Learn, Practice, Quiz } public enum CC { H } public class SomeSettings { public MO Mode { get; set; } public CC Cc { get; set; } } static void Main(string[] args) { var Settings = new SomeSettings() { Cc = CC.H…
23 ноя '19 в 17:34