Solved

Remove hardcoded days from a IF statement

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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Wav problem 4 28
How can my static class become undefined?? 8 62
Winform Module - What is the ASP.Net equiv 2 28
linq, c# 8 22
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

839 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