您好我搜索了Google,但无法从这些错误中恢复过来:
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?)
..如果我错过了什么,请你帮帮我..这是我的代码..
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);
}
}
}
}
我正在使用visual studio 2005。
答案 0 :(得分:3)
看起来你的using语句没问题。必须缺少参考。错误消息中提到的两种类型都位于mscorlib.dll
。
我相信C#编译器总是引用mscorlib,除非你要求它使用/nostdlib
命令行选项。
你如何编译你的程序?如果使用Visual Studio,请检查项目的设置以获取“不使用stdlib”或类似的选项(另一个答案说明了在哪里可以找到该选项)。如果使用命令行编译器,请确保未传递/nostdlib
选项。
答案 1 :(得分:2)
奇怪。检查您的项目是否引用了mscorlib.dll
:
右键单击项目,选择Properties,选择Build,然后单击Advanced ...;确保已设置“不引用mscorlib.dll”选项。
答案 2 :(得分:1)
嗯。
DataTimeStyles
和CultureInfo
都位于System.Globalization
命名空间中,因此
using System.Globalization;
应该足够了。您使用的是什么版本的.NET?