今天在翻《日经软件》,里面附有一张赠送的“Visual Studio 2008 Team System 2008 Beta2”的安装盘,不禁感慨,Visual Studio 2003还没有玩熟,Visual Studio 2005都还没有怎么摸过,Visual Studio 2008都已经快出来了。网上找了找Visual Studio 2008相关的内容,毕竟还没有上市,不是特别多。但是,仅有的资料,大多提到了一个Framework 3.5中出现的新的功能——LINQ。
所谓LINQ就是Language Integrated Query的缩写。中文叫作“.NET 语言集成查询”,日语叫作“.NET 統合言語クエリ”。它的最大的亮点就是在代码中可以直接写SQL文。这可不是一般的字符串的用引号括起来的SQL文,也不是象Pro*C那种需要先解释一次然后再编译一次的那种虚假的嵌入式SQL方式。而是以关键字的形式直接往代码里面写select, from, where。这个点子其实不是新的了,不过,一直都没有人去实现,现在终于还是让微软解决了。
即将上市的Visual Studio 2008中,C#和VB 9.0都是可以可以使用LINQ的。用C#举一个例子。
| |||||||
|
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LinqTest
{
class test
{
static void Main(string[] args)
{
string[] namesList = {
"太郎",
"次郎",
"男郎",
"女郎"
};
Console.WriteLine("検索したい文字を入力してください:");
string search = Console.ReadLine();
if (search.Length == 0)
{
return;
}
//文字列検索
IEnumerable<string> retList = from name in namesList
where name.IndexOf(search) > -1
select name;
Console.WriteLine("検索結果:");
foreach (string name in retList)
{
Console.WriteLine(name);
}
}
}
|
| ||||
|
|
| |||||
|
|
Sample程序很短,大家都是专业人员,就不多讲述代码了。注意“文字列检索”那部分的代码,就 能够明白了。确实感觉很好用。如果你输入“郎”,那么全部都能被抽出来,输入“次郎”,那么 只是抽出“次郎”。
这个例子只是对一个文字列数组,也就是对Object进行检索,LINQ还支持对XML、MS SQL进行检索。是否支持Oracle和其他数据库,我还没有得到肯定的结论,不过相信Oracle和广大的人民群众不会坐视不管任由微软的小家子气的。
现在Visual Studio 2008 Express Edition Beta 2好像是正在提供下载的。有兴趣的朋友,可以下载下来玩玩,体会一下其中的进步。
|