- Home /
How to use multiple If statements? Or can I use relational operators in switch statements?
What I'm trying to do is add to my font size if the int "gold" is more than an x amount, and keep adding to font size if gold is a bigger number.
if (gold > 1)
{
_lb.fontSize = _lb.fontSize + 5;
}
else
{
if (gold > 5)
{
_lb.fontSize = _lb.fontSize + 10;
}
else
{
if (gold > 10)
{
_lb.fontSize = _lb.fontSize + 15;
}
else
{
if (gold > 15)
{
_lb.fontSize = _lb.fontSize + 20;
}
else
{
if (gold > 20)
{
_lb.fontSize = _lb.fontSize + 25;
}
else
{
if (gold > 25)
{
_lb.fontSize = _lb.fontSize + 30;
}
}
}
}
}
}
But what happens here is that most numbers are going to be more than the first if condition (which is 1) , and it doesn't do anything from there.
Answer by MaxGuernseyIII · Oct 03, 2017 at 02:48 AM
var fontSizeDelta = 0;
if (gold > 1)
fontSizeDelta += 5;
if (gold > 5)
fontSizeDelta += 5;
if (gold > 10)
fontSizeDelta += 5;
if (gold > 15)
fontSizeDelta += 5;
if (gold > 20)
fontSizeDelta += 5;
if (gold > 25)
fontSizeDelta += 5;
_lb.fontSize += fontSizeDelta;
...or...
var fontSizeDelta = 0;
var thresholds = new[] { 1, 5, 10, 15, 20, 25 };
foreach (Var threshold in thresholds)
if (gold > threshold) fontSizeDelta += 5;
var fontSizeDelta = 0;
_lb.fontSize += fontSizeDelta;
Thank you for both examples ! for some reason the array example makes more sense to me . I keep getting confused with if else statements, Still trying to wrap my head around those. x|
Probably, it makes more sense because there is less redundancy in it. For instance, what if you wanted to change the rule from "greater than" to "greater than or equal to"? With one implementation, you have to go to all the redundant if statements and modify them. With the other, you only need to update the single if statement.