2011-09-27 19 views
32

Duplicar posibles:
.Net equivalent of the old vb left(string, length) function?función izquierda en C#

cuál es la alternativa para la función izquierda en C# tengo esto en

Left(fac.GetCachedValue("Auto Print Clinical Warnings").ToLower + " ", 1) == "y"); 
+1

Esto no es una pregunta completa, ¿qué es esta función de la izquierda? ¿Por qué estás buscando una alternativa? ¿Cuál es tu entrada/salida esperada? –

+0

Dejado en Vb.net ... tengo que convertir esto a C#. Ahora recibí la respuesta tnaks –

+1

Esto no es un duplicado ... la otra pregunta pide una función vb 6 en un programa vb.net. Esta pregunta requiere una respuesta de C# – Ggalla1779

Respuesta

88

Suena como si Está preguntando acerca de una función

string Left(string s, int left) 

que devolverá los caracteres left más a la izquierda de la cadena s. En ese caso, puede usar String.Substring. Puede escribir esto como un método de extensión:

public static class StringExtensions 
{ 
    public static string Left(this string value, int maxLength) 
    { 
     if (string.IsNullOrEmpty(value)) return value; 
     maxLength = Math.Abs(maxLength); 

     return (value.Length <= maxLength 
       ? value 
       : value.Substring(0, maxLength) 
       ); 
    } 
} 

y usarlo de esta manera:

string left = s.Left(number); 

Para su ejemplo específico:

string s = fac.GetCachedValue("Auto Print Clinical Warnings").ToLower() + " "; 
string left = s.Substring(0, 1); 
+0

@Roland Illig: Sí, pero como mencioné, "Dejaré que te traten los errores". – jason

+2

Editado para pasar cadenas nulas, vacías y más cortas que las deseadas sin cambios. –

8

uso función substring:

yourString.Substring(0, length); 
+4

Cuidado: si la longitud de la cadena es menor que la cantidad de caracteres que está tomando, obtendrá una excepción ArgumentOutOfRangeException. –

44

Es el método de subcadena de String, con el primer argumento establecido en 0.

myString.Substring(0,1); 

[Almo ha añadido lo siguiente ver el comentario de Justin J Stark. — Peter O.]

Advertencia: Si la longitud de la cadena es menor que el número de caracteres que está tomando, obtendrá un ArgumentOutOfRangeException.

+5

Cuidado: si la longitud de la cadena es menor que la cantidad de caracteres que está tomando, obtendrá una excepción ArgumentOutOfRangeException. –

0
var value = fac.GetCachedValue("Auto Print Clinical Warnings") 
// 0 = Start at the first character 
// 1 = The length of the string to grab 
if (value.ToLower().SubString(0, 1) == "y") 
{ 
    // Do your stuff. 
} 
7

Sólo tiene que escribir lo que realmente quería saber:

fac.GetCachedValue("Auto Print Clinical Warnings").ToLower().StartsWith("y") 

Es mucho más simple que cualquier cosa con subcadena.