Solved

Remove hardcoded days from a IF statement

Posted on 2007-03-22
4
323 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
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 …
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

911 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now