Давайте посмотрим как использовать условно получаемые результаты в LINQ.
Это типичный пример выражения switch case в LINQ.
В этом примере, мы будем печатать "Pass" (сдал) , "Fail" (несдал) and "On Hold" (мучать дальше), в зависимости от 'Result' результата студента.
Мы используем шаблон switch case для того чтобы определять строку.
Недавно меня спросили как найти процессы, rоторые сейчас запущены. Быстрый взгляд на MSDN подсказал мне класс
Process.
Этот класс предоставляет доступ к локальным и удаленным процессам и позволяет вам запускать и останавливать локальные системные процессы.
Вот как найти 5 самых прожорливых по памяти процессов:
C#
var query = (from p in System.Diagnostics.Process.GetProcesses() orderby p.PrivateMemorySize64 descending select p) .Skip(0) .Take(5) .ToList(); foreach (var item in query) { System.Diagnostics.Debug.WriteLine(item.ProcessName); }
VB.NET
Dim query = ( _ From p In System.Diagnostics.Process.GetProcesses() _ Order By p.PrivateMemorySize64 Descending _ Select p).Skip(0).Take(5).ToList() For Each item In query System.Diagnostics.Debug.WriteLine(item.ProcessName) Next item
И у нас спрашивали как вернуть список файлов из каталога, используюя LINQ, с датами создания в заданном диапазоне. Вот как это сделать:
C#
using System;
using System.Linq;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo DirInfo = new DirectoryInfo(@"D:\Articles\Pics\jQuery");
DateTime dt1 = new DateTime(2009, 07, 15);
DateTime dt2 = new DateTime(2010, 04, 15);
// LINQ query for files between 15-July 2009 and 15-April 2010.
var files = from file in DirInfo.EnumerateFiles()
where file.CreationTimeUtc > dt1 &
file.CreationTimeUtc < dt2
select file;
// Show results.
foreach (var file in files)
{
Console.WriteLine("{0} created on {1}", file.Name, file.CreationTimeUtc);
}
Console.ReadLine();
}
}
}
VB.NET
Namespace ConsoleApplication1
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim DirInfo As New DirectoryInfo("D:\Articles\Pics\jQuery")
Dim dt1 As New Date(2009, 07, 15)
Dim dt2 As New Date(2010, 04, 15)
' LINQ query for files between 15-July 2009 and 15-April 2010.
Dim files = From file In DirInfo.EnumerateFiles()
Where file.CreationTimeUtc > dt1 And file.CreationTimeUtc < dt2
Select file
' Show results.
For Each file In files
Console.WriteLine("{0} created on {1}", file.Name, file.CreationTimeUtc)
Next file
Console.ReadLine()
End Sub
End Class
End Namespace
Filed under: Green Culture, Transportation Alternatives, Carbon Offset, On Two Wheels
"Bikestorming.org is about creating a systemic, global change on urban mobility for sustainable cities of the 21st century."
That's the short mission statement from...
Когда нас просят рассказать о впечатлениях от фильма, который давно числится в любимых, или же от захватывающей новинки кинопроката, нам требуется огромное количество слов, междометий, аллегорий и сравнений. А некоторым просто слов не хватает, и они ограничиваются бессвязными восклицаниями, передающими всю эмоциональную составляющую киноленты. Французскому же иллюстратору Паскалю Ричону (Pascal Richon) понадобилось и того меньше: в своем арт-проекте One object movie он ограничивается одним-единственным объектом, в котором и заключается весь смысл кино.