学无先后达者为师!
不忘初心,砥砺前行。

dotnet 调用 String.Join 方法时忽略 null 和空字符串

在 C# 中,String.Join 方法是用于将数组或集合中的元素连接成一个字符串的静态方法。

public static string Join(string separator, params object[] values);

即便数组中的元素有 null 或者空字符串,分段也不会被跳过:

var temp = new string[] { "A", null, "B", "C", string.Empty, "D", null, null, "E", "F" };
var ret = String.Join("/", temp);
Console.WriteLine(ret);
//将会输出:A//B/C//D///E/F

如果想要跳过 null 和空字符串,一个简单的办法是使用 Linq 进行过滤:

var temp = new string[] { "A", null, "B", "C", string.Empty, "D", null, null, "E", "F" };
var ret = String.Join("/", temp.Where(f => !string.IsNullOrWhiteSpace(f)));
Console.WriteLine(ret);
//将会输出:A/B/C/D/E/F

同时,一个无需使用 Linq 的方法如下:

public static string Join(string separator, string[] value)
{
	int s = 0;
	for (var v = 0; v < value.Length; v++)
	{
		string str = value[v];
		if (!string.IsNullOrWhiteSpace(str))
		{
			value[s] = str;
			s++;
		}
	}
	if (s <= 0) return string.Empty;
	var ret = String.Join(separator, value, 0, s);
	return ret;
}

该方法避免了使用 Linq 但在方法内部修改了数组,使用时需要注意。

赞(1) 打赏
未经允许不得转载:码农很忙 » dotnet 调用 String.Join 方法时忽略 null 和空字符串

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册