我习惯使用 VB.net 进行网络编程。
通常,我有这样的事情:
Dim s as string = Session("s")
我从网络 session 中获取了 s
的字符串值。如果网络 session 中没有值,我会得到一个空字符串。
但是,据我所知,在 C# 中,我必须有类似于下面的代码才能做同样的事情。
string s;
try { s = Session["s"].ToString(); }
catch { s = ""; }
有更简单的方法吗?
最佳答案
这是一种快速的方法:
s = (string)Session["s"] ?? "";
这会将 Session["s"] 转换为字符串,如果不为空,则返回该值。如果为空,它将返回一个空字符串。 “a ?? b
”表达式本质上与“a != null ? a:b
”相同(?? 编译得更多虽然有效)
还有一点要记住:您永远不应该对正常的应用程序逻辑使用异常。
关于c# - 如何在 C# 中将空 session 值默认为空白字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3981787/