显示一列文件
在这个例子中,将使用LINQ查询一个目录中以某个特定名字开始的文件,重复一篇,我是随机选择的目录和文件名,你可能想要修改查询语句中的目录和文件名以适应你的环境。
using System;
using System.Collections.Generic;
using System.Linq;
namespace LINQIntro
{
class Program
{
static void Main(string[] args)
{
Program.ShowFiles();
}
public static void ShowFiles()
{
//指定特定目录
System.IO.DirectoryInfo dirInfo = new
System.IO.DirectoryInfo(
"C:\\Program Files\\Microsoft Visual Studio 9.0");
//找出目录中的文件并选中它
var directoryList =
from f in dirInfo.GetFiles("*.*",
System.IO.SearchOption.AllDirectories)
where f.Name.StartsWith("re")
select f;
//在终端显示选中的记录
foreach (var row in directoryList)
{
Console.WriteLine(row);
}
Console.ReadLine();
}
}
}
|
显示运行中的进程
在这个例子中,使用LINQ列出本地PC上正在运行的进程。
using System;
using System.Collections.Generic;
using System.Linq;
namespace LINQIntro
{
class Program
{
static void Main(string[] args)
{
Program.ShowProcesses();
}
public static void ShowProcesses()
{
//选择进程列表并计划输出
var processes = from p in
System.Diagnostics.Process.GetProcesses()
orderby p.ProcessName
select new {
p.ProcessName, p.Id, p.WorkingSet64,
p.Threads, p.HandleCount };
//在终端显示选择的记录
foreach (var row in directoryList)
{
Console.WriteLine(row);
}
Console.ReadLine();
}
}
}
|
访问应用程序日志文件
在这个例子中,使用LINQ从应用程序日志中获取数据,可以在日志中搜索包含某个特定消息的错误日志,我从我本地计算机的事件日志中随机选了一个错误进行搜索,你可能想要调整查询语句以适应你的本地事件日志,对于那些不相信能用LINQ查询日志的人来说,这个例子向你展示了LINQ的能力和价值。
using System;
using System.Collections.Generic;
using System.Linq;
namespace LINQIntro
{
class Program
{
static void Main(string[] args)
{
Program.ShowEventLog();
}
public static void ShowEventLog()
{
//加入应用程序事件日志
System.Diagnostics.EventLog myLog =
new System.Diagnostics.EventLog();
myLog.Log = "Application";
//使用terminated为关键字查询错误记录,你可能想要调整EventLogEntryType和
//消息以适应你本地的事件日志,注意自定义对象是如何形成的。
var logEntries =
from System.Diagnostics.EventLogEntry e in
myLog.Entries
where e.EntryType ==
System.Diagnostics.EventLogEntryType.Error &&
e.Message.Contains("terminated")
select new {
e.Source, e.InstanceId, e.Message,
e.TimeGenerated };
//显示选择的记录
foreach (var row in logEntries)
{
Console.WriteLine(row);
}
Console.ReadLine();
}
}
|
小结
本文对LINQ是什么不是什么做了一个简要的概述,同时,你也看到了LINQ开启了新的语言特性,并通过一些例子对LINQ语法进行了介绍,希望本文给你带来了有用的知识,使你能在将来的工作中更好地运用LINQ。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。