Vijay Radia Ответов: 4

Почему Microsoft предоставила if else и switch case оба.. В чем принципиальная разница между ними?


why microsoft has provided if else and switch case both.. what is fundamental difference between both?


Что я уже пробовал:

Я искал в google, но не нашел принципиальной разницы между ними.

4 Ответов

Рейтинг:
2

Richard MacCutchan

На самом деле это не имеет никакого отношения к Microsoft. Они являются фундаментальными частями языков программирования, восходящими к временам до языка Си. Изучите документацию, чтобы увидеть, где каждый из них подходит для использования.


Vijay Radia

я просто хочу знать, как компилятор c# точно компилирует оба

Richard MacCutchan

Здесь нет места для объяснения внутренней работы компилятора. В интернете есть много примеров и учебных пособий, которые объясняют оба утверждения.

Рейтинг:
2

deepak21188

Переключатель и если бы еще они принципиально различны, но в некоторых случаях могут заменять друг друга. Switch оценивает одно выражение и на основе различных результатов выражения выбирает различные случаи.

switch (i)
{
       case 1:
           Console.Write("1");
           break;
       case 2:
           Console.Write("2");
           break;
       default:
           Console.Write("default");
           break;
}

Однако, в случае если другой, то eveluates нескольких логическое выражение и основание истинным или ложным , принимает меры
if(i>40)
{
   do something
}
else if(i>25 && i<35)
{
   do something
}
else if(i<20)
{
   do something
}


Рейтинг:
1

CPallini

Это исходит из того, что C язык программирования (поэтому я пишу с помощью C перспектива в уме).
Могут быть различия в производительности между (длинной цепочкой) if/else if/else отчет и switch (последнее быстрее) но, на мой взгляд, синтаксис имеет большее значение:
То if/else if/else конструкция более универсальна (не ограничивается сравнениями с постоянными значениями) и лучше подходит, когда количество условий относительно невелико. С другой стороны, switch изложение является более кратким и лучше подходит, когда вам приходится охватывать относительно большое количество случаев.


Рейтинг:
0

RickZeeland

Иногда а Переключатель может быть быстрее, чем Ан Если бы еще строительство, но это не всегда так. Кроме того, это будет важно только в том случае, если код повторяется или вызывается сотни раз.
Смотрите примеры здесь: https://www.dotnetperls.com/if-switch-performance[^]