У меня есть проверка такого рода GetName
если находит подходящую строчку в тексте path
то возвращает определённый текст.
public static string GetName(string path)
{
if (path.Contains("test"))
{
return "Stratring Test";
}
if (path.Contains("end"))
{
return "Ending Test";
}
if (path.Contains("beta"))
{
return "Beta Test";
}
// и.т.д очень много проверок
}
Можно ли как-нибудь сократить/улучшить данный вариант? Чтобы не писать много if
и.т.д
По сути ваш код можно переписать в нечто, похожее на это:
private static Dictionary<string, string> NameCollection = new Dictionary<string, string>
{
["test"] = "Starting Test",
["end"] = "Ending Test",
["beta"] = "Beta Test"
};
public static string GetName(string path)
=> NameCollection.FirstOrDefault(x => path.Contains(x.Key)).Value;
P.S. Заметили, что у вас постоянно повторяется Test
? Я бы на вашем месте и его убрал бы, правда я не знаю какие у вас там другие if/else
...
Как вариант, такой код:
class name
{
public string Path;
public string _name;
}
В классе:
name[] names =
{
{ "test", "Startring Test" },
{ "end", "Ending Test" }
}; // с инициализацией массива мог накосячить, проверьте
Сам метод поиска:
public static string GetName(string path)
{
foreach (name n in names)
if (path.Contains(n.path))
return n._name;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В общем, отлаживал библиотекурешил поставить музыку которая идет в потоке на паузу, и отойти на минут 10
Как средствами С# на Linux запустить консоль и выполнить в ней определённую команду (в моём случае это запуск/остановка/проверка статуса службы...