Как изменить функцию GetSuit, нужно заменить If-ы массивами и сделать все в одну строчку кода - C#

Узнай цену своей работы

Формулировка задачи:

enum Suits
{
    Wands,
    Coins,
    Cups,
    Swords
}
 
private static string GetSuit(Suits suit)
{
    if (suit == Suits.Wands) return "жезлов";
    else if (suit == Suits.Coins) return "монет";
    else if (suit == Suits.Cups) return "кубков";
    else return "мечей";
}
 
public static void Main()
{
    // тестовый код:
    for (int i = 0; i < 4;i++)
    {
        Console.WriteLine(GetSuit((Suits)i));
    
    }
}
var str = new[] { "жезлов", "монет", "кубков", "мечей"};
  return str[(int)(Suits)suit];
Я решил сделать так. но этого не достаточно, получается 2 строки.

Решение задачи: «Как изменить функцию GetSuit, нужно заменить If-ы массивами и сделать все в одну строчку кода»

textual
Листинг программы
private static string GetSuit(Suits suit)
{
    return (new[] { "жезлов", "монет", "кубков", "мечей" })[(int)(Suits)suit];
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы