Как изменить функцию 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];
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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