This commit is contained in:
2024-01-18 07:51:32 +03:00
parent f4872e1d49
commit 0760e3257b
3 changed files with 19 additions and 2 deletions

View File

@@ -6,11 +6,27 @@
public static class BooleanExtensions
{
/// <summary>
/// Вывод в строку <paramref name="ifTrue"/>, если выражение <paramref name="b"/> правдиво и <paramref name="ifFalse"/> в противном случае.
/// Вывод в строку <paramref name="ifTrue"/>, если выражение <paramref name="b"/> правдиво и
/// <paramref name="ifFalse"/> в противном случае.
/// </summary>
/// <param name="b">Выражение типа правда/ложь</param>
/// <param name="ifTrue">Строка для правдивого выражения</param>
/// <param name="ifFalse">Строка для лживого выражения</param>
/// <returns>Вывод строки</returns>
public static string ExportToString (this bool b, string ifTrue, string ifFalse) => b ? ifTrue : ifFalse;
/// <summary>
/// Вычисляет количество булевых переменных <paramref name="expressions"/> в значении true.
/// </summary>
/// <param name="expressions">Переменные</param>
/// <returns>Количество переменных в значении true</returns>
public static int TrueCount (params bool[] expressions) => expressions.Count(static b => b);
/// <summary>
/// Вычисляет, есть ли хотя бы одно из булевых переменных <paramref name="expressions"/> в значении true.
/// </summary>
/// <param name="expressions">Переменные</param>
/// <returns>Есть ли хотя бы одно в значении true</returns>
public static bool AnyTrue (params bool[] expressions) => TrueCount(expressions) > 0;
}