.aspx页面中的奇怪异常

dev*_*eak 0 c# asp.net asp.net-mvc asp.net-mvc-2

我有aspx页面,我有类似的东西:

<%
    string image;
    if(cond)
       image = "somestring";
%>

...

<% if (cond) { %>
    <img src="<%= image %>" /> <!-- HereI get CS0165 exception: Use of unassigned local variable 'image' -->
<% } else { %>
    <div> ... </div>
<% } %>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么我得到例外?如果我写string image = "";这个例外消失了.这很奇怪.我猜这个例外与aspx页面的呈现有关.有人可以解释为什么会这样吗?

Kyl*_*man 8

声明变量时image,请为其指定初始值.

string image = "";
Run Code Online (Sandbox Code Playgroud)

您获得的错误表明该变量在所有情况下都未初始化(只有在初始化时才会被初始化cond).

这与包含在.aspx页面中无关.您将在后面的代码中得到相同的错误.

  • "完全控制"的许多好处仅仅意味着允许你用望远镜瞄准脚射击自己.这不是一个限制......编译器在这里帮到你一个大忙. (3认同)