C# 如何在Razor视图中声明字符串数组
我正在尝试基于C# 如何在Razor视图中声明字符串数组,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,我正在尝试基于拆分字符串并将其存储在MVC Razor视图中的字符串数组中,我尝试如下: @{ string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{}; } 但每当我写这篇文章时,它都会将字符串[]repress的最后一个}作为它的主要结束括号,而不是下面的括号。如何避免这种情况,或者如何在razor视图中声
拆分字符串
并将其存储在MVC Razor视图中的字符串数组中,我尝试如下:
@{
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{};
}
但每当我写这篇文章时,它都会将字符串[]repress
的最后一个}
作为它的主要结束括号,而不是下面的括号。如何避免这种情况,或者如何在razor视图中声明此类变量?将条件表达式放在括号中:
string[] replies = (!string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{ });
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
或者。。。只要去掉括号:
string[] replies = (!string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{ });
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
它应该有助于将条件表达式压缩到括号中:
string[] replies = (!string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{ });
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
或者。。。只要去掉括号:
string[] replies = (!string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string []{ });
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
它应该有帮助我想你可以使用:string[0]
而不是string[]{}
:
@{
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
}
我想你可以用:string[0]
代替string[]{}
:
@{
string[] replies = !string.IsNullOrEmpty(messages.MessageReply) ? messages.MessageReply.Split(';') : new string [0];
}
对我来说很好。但是这种代码应该在控制器中(并设置视图模型属性的值),而不是在viewSo@StephenMuecke中。。这在这里是不可能的?正如我所说的,你的代码工作得很好。您得到的错误是什么?从某种意义上讲,错误是将下一个}
括号视为{
的结束括号。就像我使用messages.MessageReply.Split(new[]{';},StringSplitOptions.RemoveEmptyEntries)
它处理}
内部拆分
作为结束括号,因为它将以黄色突出显示..使用.split(新[]{';}
对我也很好。我怀疑你的代码还有其他问题(如果你需要证明,我可以创建一个简单的DotNetFiddle)对我来说很好。但是那种代码应该在控制器中(并设置视图模型属性的值),而不是在viewSo@StephenMuecke中。这在这里是不可能的?正如我所指出的,您的代码工作正常。您得到的错误是什么?错误的含义是将下一个}
括号视为@{
的结束括号。就像我使用messages.MessageReply.Split(new[]{';')一样,StringSplitOptions.RemoveEmptyEntries)
它将}
内部拆分
视为结束括号,因为它将以黄色突出显示..使用.split(new[]{';')}
对我来说也很好。我怀疑你的代码还有其他问题(如果你需要证据,我可以创建一个简单的DotNetFiddle)如果我包含messages.MessageReply.Split(新[]{';'),StringSplitOptions.removeMptyEntries)
,这将是一个问题。所以,您的代码中一定有其他问题。正如我所说,我已经检查了您的场景,它工作正常。如果我包含messages.MessageReply.Split(新[]{';'),这将是一个问题,StringSplitOptions.RemoveEmptyEntries)
!!因此,您的代码中肯定存在其他问题。正如我所说,我已经检查了您的场景,它工作正常。