ASP.net 网页错误 使用未赋值的局部变量“some”
本文关键字:局部变量 some 赋值 网页 net 错误 ASP | 更新日期: 2023-09-27 18:31:57
我有这样的剃须刀代码
bool some;
if (IsPost == false)
{
some = True
}
然后是 HTML
<h1>@some.ToString()</h1>
当我运行它时,它得到我的错误 使用未赋值的局部变量"some"
谁能解释为什么? 难道剃刀代码不是先执行,然后再执行 HTML 吗?
为变量赋值。
bool some = false;
谁能解释为什么? 剃刀代码不是先执行然后执行吗 .html?
它与 Razor 或 HTML 执行优先级没有任何关系。请考虑以下简单的 C# 示例:
bool some;
Console.WriteLine(some);
您正在尝试编写尚未分配任何值的some
。与@some.ToString()
类似,您没有为其分配任何值,编译器无法确定它是否会在if
语句中获取值。
您还可以执行以下操作:
bool some = default(bool); //same as false for bool
您还可以在else
部分中为 some
赋值,例如:
bool some;
bool IsPost = true;
if (IsPost == false)
{
some = true;
}
else
{
some = false;
}
现在编译器知道some
将被分配一些值,您的错误将消失。
不太确定,但似乎您正在尝试将 IsPost
的值切换为some
您可以执行以下操作:
some = !IsPost;
您尚未为变量分配任何默认值some
。尝试像这样分配它:
bool some = false;
这与 Razor 或 HTML 执行优先级无关