Finding tiered income c-primer My thoughts are to create a method that contains all of the variables declared. Is it better to say initialized? 

I would like it to be more efficient but still as clear as possible for future maintenance of the code. Any suggestions for the main bulk of information, such as methods?

if (incomeDec &lt;= 300)
{
    taxRateDec1 = 0.15m;
    taxDec = incomeDec * taxRateDec1;
}
else if (incomeDec &lt;= 450)
{
    tierAmtInt = 300;
    taxRateDec1 = 0.15m;
    taxRateDec2 = 0.2m;

    tempValueDec = tierAmtInt * taxRateDec1;
    taxDec = (incomeDec - tierAmtInt) * taxRateDec2;
    taxDec = taxDec + tempValueDec;
}
else
{
    tierAmtInt = 300;
    tierAmtInt2 = 150;
    taxRateDec1 = 0.15m;
    taxRateDec2 = 0.2m;
    taxRateDec3 = 0.25m;

    tempValueDec = tierAmtInt * taxRateDec1;
    tempValueDec = tempValueDec + tierAmtInt2 * taxRateDec2;
    taxDec = (incomeDec - tempValueDec) * taxRateDec3;
    taxDec = taxDec + tierAmtInt;
}

incomeDec = incomeDec - taxDec;
I don't like c-style of declaring all the variables at the start of a function (which is a necessity in c, not in c#). It's better to define them closer to where they are used. 

I suggest not to define your types explicitly, use var instead such as:

var tierAmtInt = 300;


You'll see the benefits when you want to modify or refactor stuff. This one looks like a good read on that: https://softwareengineering.stackexchange.com/questions/42863/explicitly-defining-variable-data-types-vs-using-the-keyword-var  

For taxRateDec1/2/3, you can perhaps consider using array or sth similar.

If you really want to be perfectionist, you can consider passing all these variables as parameters or read from somewhere else. Just consider one day these rates changing, would you like to modify the code and recompile? 

Last but not least, these variables are actually constants, consider putting 'const' keyword whenever necessary..