utilidad resultados operativa operacional operacion neta margen estado ejemplo bruta .net

.net - operativa - utilidad neta estado de resultados



La mayoría de los desarrolladores de clases de utilidad.NET tienden a reinventar en lugar de reutilizar (25)

Recientemente leí esta publicación de Phil Haack ( Los desarrolladores de clases de utilidades .NET más útiles tienden a reinventar en lugar de reutilizar ) del año pasado, y pensé que vería si alguien tiene alguna adición a la lista.


Environment.NewLine


A muchas personas les gusta avanzar manualmente por un archivo XML para encontrar algo en lugar de usar XPathNaviagator.


Archivar cosas

using System.IO; File.Exists(FileNamePath) Directory.Exists(strDirPath) File.Move(currentLocation, newLocation); File.Delete(fileToDelete); Directory.CreateDirectory(directory) System.IO.FileStream file = System.IO.File.Create(fullFilePath);


En lugar de generar un nombre de archivo con un Guid, simplemente use:

Path.GetRandomFileName()


Enum.Parse ()


Hard coding a / en una cadena de manipulación de directorio versus usar:

IO.Path.DirectorySeparatorChar



La mayoría de las personas se olvidan de que Directory.CreateDirectory () se degrada graciosamente si la carpeta ya existe y la envuelve con una llamada inútil, if (! Directory.Exists (....)).


Necesitaba descargar algunos archivos recientemente en una aplicación de Windows. Encontré el método DownloadFile en el objeto WebClient:

WebClient wc = new WebClient(); wc.DownloadFile(sourceURLAddress, destFileName);


Path.Append siempre se olvida en cosas que he visto.


String.Format.

La cantidad de veces que he visto

return "£" & iSomeValue

más bien que

return String.Format ("{0:c}", iSomeValue)

o personas que añaden signos de porcentaje, cosas así.


String.Join () (sin embargo, casi todo el mundo sabe acerca de la cadena. Se dividen y parece usarlo cada vez que lo consiguen ...)


System.Text.RegularExpressions.Regex


Tratando de averiguar dónde viven mis documentos en la computadora de un usuario. Solo usa lo siguiente:

string directory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


Path.GetFileNameWithoutExtension(string path)

Devuelve el nombre de archivo de la cadena de ruta especificada sin la extensión.

Path.GetTempFileName()

Crea un archivo temporal de cero bytes con nombre exclusivo en el disco y devuelve la ruta completa de ese archivo.



Muchas de las nuevas características de Linq parecen bastante desconocidas:

Any<T>() & All<T>()

if( myCollection.Any( x => x.IsSomething ) ) //... bool allValid = myCollection.All( x => x.IsValid );

ToList<T>(), ToArray<T>(), ToDictionary<T>()

var newDict = myCollection.ToDictionary( x => x.Name, x => x.Value );

First<T>(), FirstOrDefault<T>()

return dbAccessor.GetFromTable( id ). FirstOrDefault();

Where<T>()

//instead of foreach( Type item in myCollection ) if( item.IsValid ) //do stuff //you can also do foreach( var item in myCollection.Where( x => x.IsValid ) ) //do stuff //note only a simple sample - the logic could be a lot more complex

Todas las pequeñas funciones realmente útiles que puede usar fuera de la sintaxis de Linq.


myString.Equals (anotherString)

y opciones que incluyen específicas de cultura.

Apuesto a que al menos el 50% de los desarrolladores escriben algo como: if (s == "id") {...}


La clase System.Diagnostics.Stopwatch .


Por todo lo que está escondido bajo el espacio de nombres Microsoft.VisualBasic, TextFieldParser es en realidad un muy buen analizador csv. Veo a mucha gente hacer su propio (mal) o usar algo como la buena biblioteca de Fast CSV en Code Plex, sin saber que esto ya está incluido en el framework.


String.IsNullOrEmpty()


System.IO.File.ReadAllText vs lógica de escritura utilizando un StreamReader para archivos pequeños.

System.IO.File.WriteAllText versus lógica de escritura usando StreamWriter para archivos pequeños.


input.StartsWith("stuff") lugar de Regex.IsMatch(input, @"^stuff")



La gente tiende a usar lo siguiente que es feo y está destinado a fallar:

string path = basePath + "//" + fileName;

Manera mejor y más segura:

string path = Path.Combine(basePath, fileName);

También he visto gente escribiendo un método personalizado para leer todos los bytes del archivo. Este es bastante útil:

byte[] fileData = File.ReadAllBytes(path); // use path from Path.Combine

Como señaló TheXenocide , lo mismo se aplica a File.ReadAllText() y File.ReadAllLines()