Solved

Remove hardcoded days from a IF statement

Posted on 2007-03-22
4
324 Views
Last Modified: 2010-04-16
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

0
Comment
Question by:mousemat24
  • 2
  • 2
4 Comments
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 18775363
Put a leading and trailing comma on your date values in your string:

    string daysToSearch = ",1,17,28,"

Then you can use string.IndexOf():

    if (daysToSearch.IndexOf("," + DateTime.Today.Day.ToString() + ",") >=0 || someV == false)
   {

   }
0
 

Author Comment

by:mousemat24
ID: 18775557
Thanks Idle_Mind for replying to me so quickly, just one question, why do you say

"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(DateTime.Today.Day.ToString()) >= 0)
{

}

Thanks
Mousemat24
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 18775567
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.ToString() + ","

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.
0
 

Author Comment

by:mousemat24
ID: 18775571
Ohhh right, thank you so much for help me, and having the time to explain this to me!!!

Your a star

Mousemat24
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
compare between entities in entity framework 8 72
Hey!! 5 33
How come this regular expression allows "e"? 14 38
c# - Best approach for objects in functions 1 8
Extention Methods in C# 3.0 by Ivo Stoykov C# 3.0 offers extension methods. They allow extending existing classes without changing the class's source code or relying on inheritance. These are static methods invoked as instance method. This…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question