ng8*_*92a 2 c# foreach messagebox
我在var集中有各种字符串
var linhas = new[] { line8, line9, line10}
Run Code Online (Sandbox Code Playgroud)
我想在一个消息框中显示它们,但是!我不想展示那些空的,所以我使用以下内容
foreach (var l in linhas)
if (l != null)
{
MessageBox.Show(l);
}
Run Code Online (Sandbox Code Playgroud)
但正如预测的那样,它一次只能显示一条消息.有可能以某种方式从列表中删除空行,并在单个MessageBox中仅显示除null之外的那些行吗?
MessageBox.Show(linenotnull8 + "\n" + linenotnull10);
Run Code Online (Sandbox Code Playgroud)
使用以下内容,您可以过滤掉null字符串,然后使用String.Join从剩余字符串中创建单个字符串linhas,使用回车符分隔每个字符串.
MessageBox.Show(String.Join(Environment.NewLine, linhas.Where(x => x != null)));
Run Code Online (Sandbox Code Playgroud)
旁注...我使用的Environment.NewLine不是'\n'因为它将使用正确的换行符,具体取决于您运行的环境(Windows vs Unix).
对于非Unix平台包含"\ r \n"的字符串,或者对于Unix平台包含"\n"的字符串.