Потому что все в области указателя - это смещения. Когда вы говорите:
int array[10];
array[7] = 42;
То, что вы на самом деле говорите во второй строке:
*( &array[0] + 7 ) = 42;
Буквально переводится как:
* = "what's at"
(
& = "the address of"
array[0] = "the first slot in array"
plus 7
)
set that thing to 42
И если мы можем добавить 7, чтобы сделать точку смещения в нужном месте, мы должны иметь возможность иметь противоположное место, иначе у нас нет симметрии в нашей математике. Если:
&array[0] + 7 == &array[7]
Затем для здравомыслия и симметрии:
&array[7] - &array[0] == 7
если цель состоит в том, чтобы показать или скрыть часть страницы, вы можете сделать следующее
1) обернуть его разметкой с помощью
<% if(somecondition) { %>
some html
<% } %>
2) Обернуть части в Элемент управления Panel и внутренний код используют оператор if для установки свойства Visible Panel.
<div>
<%
if (true)
{
%>
<div>
Show true content
</div>
<%
}
else
{
%>
<div>
Show false content
</div>
<%
}
%>
</div>
Обычно вы просто вставляете код из Page_Load
в код программной части вашей страницы .aspx
.
if (someVar) {
Item1.Visible = true;
Item2.Visible = false;
} else {
Item1.Visible = false;
Item2.Visible = true;
}
Предполагается, что у вас уже есть Item1
и Item2
, выложенные на странице.
Вот простой вариант, написанный на VB для страницы ASPX:
If myVar > 1 Then
response.write("Greater than 1")
else
response.write("Not!")
End If