Объединение полей
Внешний вид
Функция JoinFields - объединяет нескольких текстовых значений в одну строку с использованием заданного разделителя.
Примечание
В отличие от string.Join() не добавляет в итог пустые строки, строки из пробелов и т.д.
Входные параметры
separator- строка-разделитель, вставляемая между элементами;fields- массив объектов, строковые представления которых необходимо объединить.
Выходные параметры
- строка, состоящая из объединенных элементов,
- пустая строка, если подходящих элементов нет.
Алгоритм
- Проверяет массив входящих значений на наличие элементов.
- Создает список элементов.
- Добавляет в список элементов только не пустые элементы массива.
- Возвращает элементы списка, вставляя между ними заданный разделитель.
Использование в выражениях
Использование во вкладке кода
Код функции
/// <summary>
/// Объединение нескольких текстовых значений в одну строку с использованием заданного разделителя.<br/>
/// В отличие от string.Join() не добавляет в итог пустые строки, строки из пробелов и т.д.
/// </summary>
/// <param name="separator">Строка-разделитель, вставляемая между элементами.</param>
/// <param name="fields">Массив объектов, строковые представления которых необходимо объединить.</param>
/// <returns>
/// - или строка, состоящая из объединенных элементов,
/// - или <see cref="string.Empty"/>, если подходящих элементов нет.
/// </returns>
public static string JoinFields(string separator, params object?[]? fields)
{
if (fields == null || fields.Length == 0) return string.Empty;
var list = new System.Collections.Generic.List<string>();
foreach (var f in fields)
{
if (f == null || f == DBNull.Value) continue;
var elem = f.ToString();
if (string.IsNullOrWhiteSpace(elem)) continue;
list.Add(elem.Trim());
}
return string.Join(separator, list);
}