Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
C# ASPX空字符错误_C#_Asp.net - Fatal编程技术网

C# ASPX空字符错误

C# ASPX空字符错误,c#,asp.net,C#,Asp.net,我尝试渲染一个.aspx页面,但当我去渲染角色时,会得到奇怪的结果 <%= default(char) %> 如果是空字符,有没有办法忽略该值?我尝试了default(char).ToString(),但结果似乎是一样的。当有空字符时,我只想忽略它。char的默认值是\0,或者它等效于null,但实际上不是System.null值,因此行为符合预期 如果您希望避免该测试,请执行以下操作: <%= mychar != '\0' ? mychar : '' %> 记住

我尝试渲染一个.aspx页面,但当我去渲染角色时,会得到奇怪的结果

<%= default(char) %>

如果是空字符,有没有办法忽略该值?我尝试了
default(char).ToString()
,但结果似乎是一样的。当有空字符时,我只想忽略它。

char的默认值是\0,或者它等效于null,但实际上不是System.null值,因此行为符合预期

如果您希望避免该测试,请执行以下操作:

<%= mychar != '\0' ? mychar : '' %>

记住对字符使用单引号是很重要的

我担心的是,要做到这一点还有很长的路要走;您在主代码中实际要做什么

编辑:为我的注释中解释的修复程序提供代码示例:

<%= myobj.charProp == '\0' ? "''" : myobj.charProp.ToString() %>


我认为如果您显示您的真实代码,我们可以提供更好的帮助。这是我的真实代码,请尝试将其准确地放入.aspx页面,并使用FF或Chrome查看。我想找到一种转换,它将打印
默认值(字符)
,就像打印
一样。执行
default(char).toString()
只会产生相同的奇数字符。我试图打印对象的
char
属性,但如果尚未初始化,则忽略该字符。我正在创建一个JavaScript字符串,如果我能在
obj.Prop==default(char)
时打印
'
,在
obj.Prop==n'
时打印
'
,那就太好了;我已经在上面的回答中添加了这一点;您需要在第三层的两边都有一个字符串,否则编译器会向您抱怨。我很好奇什么类型的对象具有char属性,是有特殊原因还是您试图节省空间,还是来自某种互操作?它是以这种方式创建的,以强制与db表中的
char(1)
字段严格兼容。作者认为这很聪明。啊,我和你一样痛苦!如果有帮助的话,.Net中的Char与Int是隐式兼容的;所以,如果你这样读的话,你可以简单地做得很好,我不完全确定这是否会让它更清晰,但这可能有助于处理这个奇怪的空比较。
<%= myobj.charProp == '\0' ? "''" : myobj.charProp.ToString() %>