如果是Default或Empty,我想提供一些值:
string[] str = {string.Empty, "hello", "world" };
var select = str.Select(s => s).DefaultIfEmpty("nodata");
GridView1.DataSource = Select;
GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)
为什么我的网格没有被填满:
nodata
hello
world
Run Code Online (Sandbox Code Playgroud)
相反,我收到:
hello
world
Run Code Online (Sandbox Code Playgroud)
如果序列为空,则DefaultIfEmpty提供默认值 - 您尝试使用它来替换序列中的空值(即string.Empty).你应该使用:
var select = str.Select(s => String.IsNullOrEmpty(s) ? "nodata" : s);
Run Code Online (Sandbox Code Playgroud)