我是C#的新手,所以,对不起,对不起我的愚蠢问题:)。
我有两个项目 - C#exe和C#DLL。
在C#exe代码中
private static byte[] toBytes(String str)
{
return System.Text.Encoding.GetEncoding("US-ASCII").GetBytes(
str.ToLower(System.Globalization.CultureInfo.InvariantCulture));
}
这样可以正常工作,但在C#DLL中没有
str.ToLower(System.Globalization.CultureInfo.InvariantCulture));
方法,仅
str.ToLower();
我的代码/ DLL项目有什么问题?为什么
str.ToLower(System.Globalization.CultureInfo.InvariantCulture));
在C#DLL项目中不可用?
谢谢!
答案 0 :(得分:3)
这在很大程度上取决于您创建的类库项目的类型。例如,如果您的目标是.NET Core或可移植类库,则只实现ToLower()
方法并且可用。
根据文档,.ToLower(CultureInfo culture)
方法在完整.NET框架(> = 1.1),Silverlight(> = 2.0)和Windows Phone Silverlight(> = 7.0)中可用。
答案 1 :(得分:1)
在PCL项目中,您应该使用string.ToLowerInvariant()来实现此目的。