Soy novato en C #, así que, por favor, perdón mi tonta pregunta :).

Tengo dos proyectos: C # exe y C # DLL.

En el código exe C #

private static byte[] toBytes(String str)
{
    return System.Text.Encoding.GetEncoding("US-ASCII").GetBytes(
                str.ToLower(System.Globalization.CultureInfo.InvariantCulture));
}

Esto funciona bien, pero en C # DLL no hay

str.ToLower(System.Globalization.CultureInfo.InvariantCulture));

Método, solo

str.ToLower();

¿Qué tiene de malo mi proyecto de código / DLL? Por que es

str.ToLower(System.Globalization.CultureInfo.InvariantCulture));

No está disponible en el proyecto C # DLL?

¡Gracias!

1
Arthur 19 ene. 2017 a las 12:31

2 respuestas

La mejor respuesta

Dependerá mucho del tipo de proyecto de biblioteca de clases que haya creado. Por ejemplo, si está apuntando a .NET Core o una biblioteca de clases portátil, entonces solo el método ToLower() está implementado y disponible.

Según la documentación, el .ToLower(CultureInfo culture) < El método / a> está disponible en el marco .NET completo (> = 1.1), Silverlight (> = 2.0) y Windows Phone Silverlight (> = 7.0).

3
Darin Dimitrov 19 ene. 2017 a las 09:37

En un proyecto PCL, debe usar string.ToLowerInvariant () para lograr este propósito.

1
Thomas Bienkowski 19 ene. 2017 a las 09:38