开发者

C# error1:The name 'DateTimeStyles' does not exist in the current context. error2:The type or namespace name 'CultureInfo' could not be found

Hi I have searched Google my best but couldn't recover from these errors:

The name 'DateTimeStyles' does not exist in the current context

...

The type or namespace name 'CultureInfo' could not be found (are you missing a using directive or an assembly reference?)

.. 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(da开发者_JAVA百科teString, 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.


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.


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?


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜