mousemat24
asked on
Remove hardcoded days from a IF statement
Hi there
Wonder if you can help me?
I have the following code:
int todaysDay = DateTime.Today.Day;
if (todaysDay == 1 || todaysDay == 17 || todaysDay == 28 || someV = false)
{
// do something
}
The problem with that is I've had to hardcode the days i.e. 1,17,28 in the IF statement. Can someone please help me in getting the values i.e. 1,17,28 (or it could be more days) into a variable.
Something like this
string daysToSearch = "1,17,28"; // Please note, I will be getting the string "1,17,28" from a SQL field. Having got the "1,17,28" from SQL, I can then use this in the IF statement
Hope that makes sense?
Thanks
Mousemat24
Having
Wonder if you can help me?
I have the following code:
int todaysDay = DateTime.Today.Day;
if (todaysDay == 1 || todaysDay == 17 || todaysDay == 28 || someV = false)
{
// do something
}
The problem with that is I've had to hardcode the days i.e. 1,17,28 in the IF statement. Can someone please help me in getting the values i.e. 1,17,28 (or it could be more days) into a variable.
Something like this
string daysToSearch = "1,17,28"; // Please note, I will be getting the string "1,17,28" from a SQL field. Having got the "1,17,28" from SQL, I can then use this in the IF statement
Hope that makes sense?
Thanks
Mousemat24
Having
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Because you will get "false positives"...
What if you search for the value of "2"?
String.IndexOf() will return a value because it is present in both "28" and "21" even though the value of just "2" is not present.
This is why I am surrounding the Day.ToString() value in commas:
"," + DateTime.Today.Day.ToStrin g() + ","
and why you need the leading and trailing commas in the days string so that you can get a match on the first and last entries in the string.
What if you search for the value of "2"?
String.IndexOf() will return a value because it is present in both "28" and "21" even though the value of just "2" is not present.
This is why I am surrounding the Day.ToString() value in commas:
"," + DateTime.Today.Day.ToStrin
and why you need the leading and trailing commas in the days string so that you can get a match on the first and last entries in the string.
ASKER
Ohhh right, thank you so much for help me, and having the time to explain this to me!!!
Your a star
Mousemat24
Your a star
Mousemat24
ASKER
"Put a leading and trailing comma on your date values in your string:"? The following code works without the trailing comma
string daysToSearch = "1,17,28,21";
if (daysToSearch.IndexOf(Date
{
}
Thanks
Mousemat24