tags:

views:

270

answers:

3

Hi I have searched google my best but couldn't recover from these errors .. can you please help me out with, if something I have missed .. Here is my code ..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Security.Permissions;
using System.Threading;

namespace ConsoleApplication21
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] formats = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
                   "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
                   "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", 
                   "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
                   "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};
            string[] dateStrings = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", 
                        "5/1/2009 6:32:00", "05/01/2009 06:32", 
                        "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"};
            DateTime dateValue;

            foreach (string dateString in dateStrings)
            {
                if (DateTime.TryParseExact(dateString, formats,
                                           new CultureInfo("en-US"),
                                           DateTimeStyles.None,
                                           out dateValue))
                    Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue);
                else
                    Console.WriteLine("Unable to convert '{0}' to a date.", dateString);
            }
        }
    }
}

I am using visual studio 2005

+2  A: 

Looks like your using statements are OK. There must be a reference missing. Both types mentioned in the error msg live in mscorlib.dll.

I believe that the C# compiler always references mscorlib, unless you ask it not to, using the /nostdlib command line option.

How do you compile your program? If using Visual Studio, check your project's settings for an option 'do not use stdlib' or something like that (another answer explains where to find the option). If using the command line compiler, make sure you are not passing the /nostdlib option.

codeape
ya its working now .. thanx ..
infant programmer
A: 

Hmm. Both DataTimeStyles and CultureInfo are in the System.Globalization namespace, so the

using System.Globalization;

Should be sufficient. What version of .NET are you using?

Rik
+1  A: 

Strange. Check that your project references mscorlib.dll:

Right click on the project, choose Properties, choose Build, then click Advanced...; make sure that the option to "Do not reference mscorlib.dll" is set off.

Jeremy McGee