Como programador que no sea .net, estoy buscando el equivalente .net de la antigua función vb left(string, length)
. Era flojo porque funcionaba con cualquier cadena de longitud. Como se esperaba, left("foobar", 3) = "foo"
mientras, más útilmente, left("f", 3) = "f"
..Net equivalente de la antigua función vb left (string, length)?
En .net string.Substring(index, length)
arroja excepciones para todo lo que esté fuera de rango. En Java siempre tuve a mano lang.StringUtils de Apache-Commons. En Google, no llego muy lejos en la búsqueda de funciones de cadenas.
Editar:
@Noldorin - Vaya, gracias por sus extensiones vb.net! Mi primer encuentro, aunque me llevó varios segundos para hacer lo mismo en C#:
public static class Utils
{
public static string Left(this string str, int length)
{
return str.Substring(0, Math.Min(length, str.Length));
}
}
nota la clase estática y método, así como la palabra clave this
. Sí, son tan simples de invocar como "foobar".Left(3)
. Vea también c# extensions on msdn.
encantados de haber introducido a ellos. :) Son funciones muy útiles tanto de VB.NET como de C# (siempre que sepa cómo usarlas de forma adecuada), y las encontrará útiles todo el tiempo. Por cierto, no estoy seguro si se dio cuenta, pero la función Math.Min es parte del BCL, así que también podría usarlo en C#. – Noldorin
@Nolderin - Muy limpio, editado para reflejar el comentario de Math.Min. ¡Gracias! – Josh
Como nota al pie, devuelve una nueva cadena (str.Take (length) .ToArray()); también funciona Me imagino que usar una subcadena es probablemente más rápido. – Sean