Объединение полей: различия между версиями
Внешний вид
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 27: | Строка 27: | ||
/// В отличие от string.Join() не добавляет в итог пустые строки, строки из пробелов и т.д. | /// В отличие от string.Join() не добавляет в итог пустые строки, строки из пробелов и т.д. | ||
/// </summary> | /// </summary> | ||
/// <param name="separator">Строка-разделитель, вставляемая между элементами.</param> | |||
/// <param name="fields">Массив объектов, строковые представления которых необходимо объединить.</param> | |||
/// <returns> | |||
/// - или строка, состоящая из объединенных элементов, | |||
/// - или <see cref="string.Empty"/>, если подходящих элементов нет. | |||
/// </returns> | |||
public static string JoinFields(string separator, params object?[]? fields) | public static string JoinFields(string separator, params object?[]? fields) | ||
{ | { | ||
Версия от 03:02, 21 октября 2026
Функция 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);
}