C#检查通过查询字符串从JQuery/Ajax调用接收到的未定义变量
在讨论这个主题时,有很多问题需要参考Javascript;但是我没有得到任何关于C#的参考 下面的两个“字符串…”语句都返回C#检查通过查询字符串从JQuery/Ajax调用接收到的未定义变量,c#,C#,在讨论这个主题时,有很多问题需要参考Javascript;但是我没有得到任何关于C#的参考 下面的两个“字符串…”语句都返回false // foll querystring value from JQuery/Ajax call var thisfieldvalue = Request.QueryString["fieldvalue"]; bool boola = String.IsNullOrWhiteSpace(thisfieldvalue );
false
// foll querystring value from JQuery/Ajax call
var thisfieldvalue = Request.QueryString["fieldvalue"];
bool boola = String.IsNullOrWhiteSpace(thisfieldvalue );
bool boolb = String.IsNullOrEmpty(thisfieldvalue );
检查C#中未定义字符串变量的最佳方法是什么
注:我偶尔会通过带有“querystring”的JQuery/Ajax调用获得“Undefined variable”值;当我使用该语句时,它会在C#变量中结束 var thisfieldvalue=Request.QueryString[“fieldvalue”] 并且'thisfieldvalue'变量同时传递'String.IsNullOrWhiteSpace'和'String.IsNullOrEmpty'检查 注2:我再次编辑了问题,以使我的问题更清楚。。。很抱歉,早些时候还不太清楚 C#中没有“未定义”的字符串变量 字符串是一种引用类型,因此如果不定义值,它的默认值为
null
在Visual Studio 2013中,未设置为值(默认值
null
)的字符串与明确设置为null
的字符串之间没有区别。您的代码甚至不会编译。第一个检查标记为使用未分配的局部变量
由于C#是一种强类型语言,请充分利用它,明确设置值:
string Undefined_var = null;
bool boola = String.IsNullOrWhiteSpace(Undefined_var);
bool boolb = String.IsNullOrEmpty(Undefined_var);
然后您将得到两个true
值。您可以使用其中一个
string Undefined_var = "[value to test goes here]"; //note that string must be assigned before it is used
bool boola = String.IsNullOrWhiteSpace(Undefined_var);
//or
bool boolb = String.IsNullOrEmpty(Undefined_var);
不同之处在于,IsNullOrWhiteSpace
将检查IsNullOrEmpty
执行的所有操作,以及未定义的变量仅包含空白的情况。但是,由于仅由空白字符组成的字符串在技术上不是未定义的,因此我将使用这两个字符中的IsNullOrEmpty
但请注意,由于string
是引用类型,因此默认值为null
;因此,如果您想进一步缩小范围以消除对空字符串的测试,您可以这样做-
string Undefined_var = null;
bool boola = Undefined_var == null;
这个问题不适用于C#,因为C#不允许使用未定义的局部变量。类的成员由成员的默认值初始化(对于引用类型-由null初始化) if(Request.QueryString[“fieldvalue”]=“未定义”) 这是一根弦,它会被理解为一根弦 如果是5,那就是一个5的字符串
如果不存在,则是一个未定义的字符串在c#编译器中没有“未定义的变量”这类东西,因为您的代码不会被编译,也不会被编译:另外,如果您将其更改一点以进行编译,对于这两个值,它都返回true,而不是false:这段代码不会编译。我在上面添加了一个注释,解释了我是如何得到这个未定义的值的…@Ratna,都是正确的。在这里(rextester.com/TJER37341),您会收到由于未分配本地值而导致的错误消息。在这里(rextester.com/OTGKOT41237),您可以获得类的未分配成员的默认值。因为成员变量是字符串(引用类型),所以它的成员变量由null初始化。