Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net LINQ2SQL检测null返回null值并将其转换_Asp.net_Linq To Sql - Fatal编程技术网

Asp.net LINQ2SQL检测null返回null值并将其转换

Asp.net LINQ2SQL检测null返回null值并将其转换,asp.net,linq-to-sql,Asp.net,Linq To Sql,我想检测从LINQ2SQL查询返回的空值,并将其转换为其他内容 例如,如果: public static String[] getAllStudents(string n) { var ret = from p in db.students select p.st_fname + " " + p.st_mname +" " +p.st_lname ; string[] st = ret.ToArray<String>(); return st; } 我想把我上面解释的应用到它上

我想检测从LINQ2SQL查询返回的空值,并将其转换为其他内容 例如,如果:

public static String[] getAllStudents(string n)
{
var ret = from p in db.students

select p.st_fname + " " + p.st_mname +" " +p.st_lname ;

string[] st = ret.ToArray<String>();
return st;
}
我想把我上面解释的应用到它上面

在这种情况下:

select (p.st_fname ?? "This is empty") + " " + (p.st_mname ?? "This is empty") + 
        " " + (p.st_lname ?? "This is empty");
或者如果姓氏可以为空:

select p.st_fname + " " + p.st_mname + 
        " " + (p.st_lname ?? "This is empty");

这个??运算符(null合并运算符)表示从左侧获取值,除非它为null,否则从右侧获取值。

尝试编写如下内容:

var ret = from p in db.students
select string.Format("{0} {1} {2}",p.st_fname,p.st_mname, p.st_lname==null?"Undefined":p.st_lname);
var ret = from p in db.students
select string.Format("{0} {1} {2}",p.st_fname,p.st_mname, p.st_lname==null?"Undefined":p.st_lname);