<?xml version="1.0"?>
<clause number="12" title="Variables">
  <paragraph>Variables represent storage locations. Every variable has a type that determines what values can be stored in the variable. C# is a type-safe language, and the C# compiler guarantees that values stored in variables are always of the appropriate type. The value of a variable can be changed through assignment or through use of the ++ and  --operators. </paragraph>
  <paragraph>A variable must be definitely assigned (<hyperlink>12.3</hyperlink>) before its value can be obtained. </paragraph>
  <paragraph>As described in the following sections, variables are either initially assigned or initially unassigned. An initially assigned variable has a well-defined initial value and is always considered definitely assigned. An initially unassigned variable has no initial value. For an initially unassigned variable to be considered definitely assigned at a certain location, an assignment to the variable must occur in every possible execution path leading to that location. </paragraph>
</clause>
