【发布时间】:2019-12-18 19:34:59
【问题描述】:
我正在打印包含空值的数组中的所有非空值。我只想打印非空值
string a = "welcome";
var rm = new string [] {null,"hai",null,"15"};
Console.WriteLine("{0}",!String.IsNullOrEmpty(rm[0])? a
:!String.IsNullOrEmpty(rm[1]) ? a +":"+ rm[1] :
!String.IsNullOrEmpty(rm[2]) ? a +":"+ rm[1]+ ":"+rm[2] : a +":"+ rm[1]+
":"+rm[2]+":"+rm[3] );
实际输出:welcome:hai
预期输出:welcome:hai:15
【问题讨论】:
-
string.Join(rm.Where(T => T != null), ":") -
using System.Linq; var filtered = rm.Where( elem => ! string.IsNullOrEmpty(elem))过滤到您要打印的内容,然后使用 string.Join。 -
您是否正在专门寻找 linq 解决方案?你试过使用循环吗?
-
@AgentFire 先是分隔符,然后是集合;)