111,119
社区成员
发帖
与我相关
我的任务
分享
namespace sys{
static class DataExt{
#region JoinText
/// <summary>
/// 枚举器以分隔符连接
/// </summary>
/// <param name="ienum">枚举器</param>
/// <param name="joinChar">分隔符</param>
/// <param name="bSkipEmpty">是否跳过枚举中空的项目</param>
/// <returns>合并后的字符串</returns>
public static string JoinText(this System.Collections.IEnumerable ienum, string joinChar, bool bSkipEmpty = false) {
StringBuilder sb = new StringBuilder();
if (bSkipEmpty) {
foreach (var item in ienum) {
if (item == null || item == DBNull.Value || "".Equals(item)) continue;
sb.Append(item.ToString());
sb.Append(joinChar);
}
} else {
foreach (var item in ienum) {
if (item != null) sb.Append(item.ToString());
sb.Append(joinChar);
}
}
if (sb.Length > 0) sb.Remove(sb.Length - joinChar.Length, joinChar.Length);
return sb.ToString();
}
/// <summary>
/// 枚举器以分隔符连接
/// </summary>
/// <param name="ienum">枚举器</param>
/// <param name="joinChar">分隔符</param>
/// <param name="format">格式化</param>
/// <param name="bSkipEmpty">是否跳过枚举中空的项目</param>
/// <returns>合并后的字符串</returns>
public static string JoinText(this System.Collections.IEnumerable ienum, string joinChar, string format, bool bSkipEmpty = false) {
StringBuilder sb = new StringBuilder();
if (bSkipEmpty) {
foreach (var item in ienum) {
if (item == null || item == DBNull.Value || "".Equals(item)) continue;
sb.Append(format.ToString(item));
sb.Append(joinChar);
}
} else {
foreach (var item in ienum) {
if (item != null) sb.Append(format.ToString(item));
sb.Append(joinChar);
}
}
if (sb.Length > 0) sb.Remove(sb.Length - joinChar.Length, joinChar.Length);
return sb.ToString();
}
#endregion
}
}
public static string Join(string separator, params object[] values)
{
if (values == null)
{
throw new ArgumentNullException("values");
}
if ((values.Length == 0) || (values[0] == null))
{
return Empty;
}
if (separator == null)
{
separator = Empty;
}
StringBuilder builder = new StringBuilder();
string str = values[0].ToString();
if (str != null)
{
builder.Append(str);
}
for (int i = 1; i < values.Length; i++)
{
builder.Append(separator);
if (values[i] != null)
{
str = values[i].ToString();
if (str != null)
{
builder.Append(str);
}
}
}
return builder.ToString();
}