Herramientas de usuario

Herramientas del sitio


fw:othersnet:linq

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:othersnet:linq [2010/06/15 14:01]
alfred
fw:othersnet:linq [2020/05/09 09:25] (actual)
Línea 349: Línea 349:
 }; };
 </​code>​ </​code>​
 +
 +
  
  
Línea 412: Línea 414:
     select c;     select c;
 foreach (var c in query) Console.WriteLine( c ); foreach (var c in query) Console.WriteLine( c );
 +</​code>​
 +=== Ejemplo 4 (FindAll y ForEach) ===
 +<​code>​
 +static void DisplayInstalledApplications2()
 +{
 +  string registryKey =
 +    @"​SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";​
 +
 +  using (Microsoft.Win32.RegistryKey key = 
 +    Registry.LocalMachine.OpenSubKey(registryKey))
 +  {
 +    (from a in key.GetSubKeyNames()
 +      let r = key.OpenSubKey(a)
 +      select new
 +      {
 +        Application = r.GetValue("​DisplayName"​)
 +      }).ToList()
 +      .FindAll(c => c.Application != null)
 +      .ForEach(c => Console.WriteLine(c.Application));​
 +  }
 +}
 +</​code>​
 +=== Cálculo del tamaño de un directorio ===
 +<code csharp>
 +static long DirectorySize(DirectoryInfo dInfo, bool includeSubDir) {
 +  // Enumerate all the files
 +  long totalSize = dInfo.EnumerateFiles()
 +    .Sum(file => file.Length);​
 +  // If Subdirectories are to be included
 +  if (includeSubDir)
 +  {
 +    // Enumerate all sub-directories
 +    totalSize += dInfo.EnumerateDirectories()
 +      .Sum(dir => DirectorySize(dir,​ true));
 +  }
 +  return totalSize;
 +}
 </​code>​ </​code>​
  
fw/othersnet/linq.1276610474.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)