Перейти к содержанию

Обработка поля: различия между версиями

Материал из Химсофт Вики
Строка 9: Строка 9:
<syntaxhighlight lang="C#">
<syntaxhighlight lang="C#">
/// <summary>
/// <summary>
        ///    Универсальная обработка пустых значений (NULL, пустые строки, пробелы, отсутствующие даты или числа).<br/>
///    Универсальная обработка пустых значений (NULL, пустые строки, пробелы, отсутствующие даты или числа).<br/>
        ///    По умолчанию заменяет пустоту на дефис ("-"), но позволяет задать любое строковое значение по умолчанию.<br/>
///    По умолчанию заменяет пустоту на дефис ("-"), но позволяет задать любое строковое значение по умолчанию.<br/>
        ///    При необходимости можно добавить перегрузку для типов данных.
///    При необходимости можно добавить перегрузку для типов данных.
        /// </summary>
/// </summary>
        /// <param name="field">Входное значение для проверки и форматирования.</param>
/// <param name="field">Входное значение для проверки и форматирования.</param>
        /// <param name="defaultValue">Строка, возвращаемая если значение пустое (по умолчанию "-").</param>
/// <param name="defaultValue">Строка, возвращаемая если значение пустое (по умолчанию "-").</param>
        /// <param name="prefix">Префикс, добавляемый к непустому значению.</param>
/// <param name="prefix">Префикс, добавляемый к непустому значению.</param>
        /// <param name="suffix">Суффикс, добавляемый к непустому значению.</param>
/// <param name="suffix">Суффикс, добавляемый к непустому значению.</param>
        /// <returns>
/// <returns>
        ///    - или строку <paramref name="defaultValue"/>, если значение пустое;<br/>
///    - или строку <paramref name="defaultValue"/>, если значение пустое;<br/>
        ///    - или строковое представление объекта с добавлением префикса (при наличии) и суффикса (при наличии).
///    - или строковое представление объекта с добавлением префикса (при наличии) и суффикса (при наличии).
        /// </returns>
/// </returns>
        public static string FieldOr(object? field,  string defaultValue = "-", string prefix = "", string suffix = "")
public static string FieldOr(object? field,  string defaultValue = "-", string prefix = "", string suffix = "")
        {
{
            if (field == null || field == DBNull.Value)
if (field == null || field == DBNull.Value)
            {
{
                return defaultValue;
return defaultValue;
            }
}


            var fieldString = field.ToString();
var fieldString = field.ToString();
            return string.IsNullOrWhiteSpace(fieldString)  
return string.IsNullOrWhiteSpace(fieldString)  
                ? defaultValue  
? defaultValue  
                : $"{prefix}{fieldString}{suffix}";  
: $"{prefix}{fieldString}{suffix}";  
        }
}
</syntaxhighlight>
</syntaxhighlight>

Версия от 01:06, 21 октября 2026

Входные параметры

Выходные параметры

Алгоритм

Использование в выражениях

Использование во вкладке кода

Подключение

Код функции

/// <summary>
///     Универсальная обработка пустых значений (NULL, пустые строки, пробелы, отсутствующие даты или числа).<br/>
///     По умолчанию заменяет пустоту на дефис ("-"), но позволяет задать любое строковое значение по умолчанию.<br/>
///     При необходимости можно добавить перегрузку для типов данных.
/// </summary>
/// <param name="field">Входное значение для проверки и форматирования.</param>
/// <param name="defaultValue">Строка, возвращаемая если значение пустое (по умолчанию "-").</param>
/// <param name="prefix">Префикс, добавляемый к непустому значению.</param>
/// <param name="suffix">Суффикс, добавляемый к непустому значению.</param>
/// <returns>
///     - или строку <paramref name="defaultValue"/>, если значение пустое;<br/>
///     - или строковое представление объекта с добавлением префикса (при наличии) и суффикса (при наличии).
/// </returns>
public static string FieldOr(object? field,  string defaultValue = "-", string prefix = "", string suffix = "")
{
	if (field == null || field == DBNull.Value)
	{
		return defaultValue;
	}

	var fieldString = field.ToString();
	return string.IsNullOrWhiteSpace(fieldString) 
		? defaultValue 
		: $"{prefix}{fieldString}{suffix}"; 
}