Можно ли воссоздать switch case другими методами? - C#
Формулировка задачи:
Здравствуйте! Можно ли симулировать точную работу switch case другими методами, например, используя if и while?
Наверно не будет с if работать break, чтобы завершать поиск при нахождении нужного условия, а не проходить весь цикл целиком. Но всё же интересует эта возможность.
Решение задачи: «Можно ли воссоздать switch case другими методами?»
textual
Листинг программы
public class BadClass
{
public string Name { get; set; }
}
public class Worker
{
public void PrintName(BadClass bad)
{
switch (bad.Name)
{
case "First" : Console.WriteLine(GetName1(bad)); break;
case "Second" : Console.WriteLine(GetName2(bad)); break;
}
}
public void PrintFullName(BadClass bad)
{
switch (bad.Name)
{
case "First" : Console.WriteLine(GetFullName1(bad)); break;
case "Second" : Console.WriteLine(GetFullName2(bad)); break;
}
}
private string GetName1(BadClass bad)
{
return $"{bad.Name}1";
}
private string GetName2(BadClass bad)
{
return $"{bad.Name}2";
}
private string GetFullName1(BadClass bad)
{
return $"BadClass {bad.Name}1";
}
private string GetFullName2(BadClass bad)
{
return $"BadClass {bad.Name}2";
}
}