using System;
using System.Collections.Generic;
namespace Modbus.Utility
{
///
/// String utility methods.
///
public static class StringUtility
{
///
/// Concatenates a specified separator String between each element of a specified collection,
/// yielding a single concatenated string.
///
public static string Join(string separator, ICollection collection)
{
return Join(separator, collection, DefaultConversion);
}
///
/// Concatenates a specified separator String between each converted element of a specified collection,
/// yielding a single concatenated string.
///
public static string Join(string separator, ICollection collection, Converter conversion)
{
if (collection == null)
throw new ArgumentNullException("collection");
if (conversion == null)
throw new ArgumentNullException("conversion");
return Join(separator, CollectionUtility.ToArray(collection), conversion);
}
///
/// Concatenates a specified separator String between each element of a specified array,
/// yielding a single concatenated string.
///
public static string Join(string separator, T[] collection)
{
return Join(separator, collection, DefaultConversion);
}
///
/// Concatenates a specified separator String between each converted element of a specified array,
/// yielding a single concatenated string.
///
public static string Join(string separator, T[] collection, Converter conversion)
{
if (collection == null)
throw new ArgumentNullException("collection");
if (conversion == null)
throw new ArgumentNullException("conversion");
return String.Join(separator, Array.ConvertAll(collection, conversion));
}
private static string DefaultConversion(T t)
{
return t.ToString();
}
}
}