Pregunta

¿Cuál debe ser la mejor manera de escribir código:

1)

Dim current = Request.Path
current = current.Remove(0, 1)
current = current.Replace(".aspx", "")

2)

Dim current = Request.Path.Remove(0, 1).Replace(".aspx", "")

3)

Dim current = Request.Path
Dim current2 = current.Remove(0, 1)
Dim current3 = current.Replace(".aspx", "")

o 1-2 no hacen ninguna diferencia?

¿Fue útil?

Solución

Estas son todas iguales. Trate

Path.GetFileNameWithoutExtension(Request.Path)

Otros consejos

Los tres son básicamente los mismos.

Recuerde las cadenas son inmutables. Cada vez que se llama a un método en una cadena, se asigna un nuevo objeto de cadena, por lo Remove() llamando crea un nuevo objeto, que luego se utiliza para llamar Replace().

1 y 2 son básicamente idénticas. # 3 es un poco diferente porque utiliza 3 variables independientes, por lo que está sosteniendo a las referencias a las cuerdas para que puedan ser utilizados posteriormente. El recolector de basura debe saber qué hacer con los 3 ejemplos y manejarlos más o menos la misma sin embargo, si se almacenan las cadenas intermedias como variables o no.

Me gustaría utilizar # 2, simplemente porque es menos líneas de código y no Sacrafice legibilidad pero aún así es un poco bastante corto de código.

Estas llamadas pueden lanzar excepciones. Para el código de juguete que está bien no comprobar, pero, después de obtener la ruta de acceso, debe comprobar contra String.NullOrEmpty y la longitud antes de llamar a quitar. Por lo tanto, es por eso que evitaría # 2. Aparte de eso, # 1 parece más limpio a menos que necesite utilizar los valores intermedios (actuales como la ruta y current2) en otro lugar del método.

Las cadenas son inmutables en .Net por lo que obtendrá el mismo rendimiento de todos esos métodos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top