下载:http://linqjs.codeplex.com/

LINQ Pad

Enumerable.Range(0, 20)
.Where("$ % 3 == 0")
.Select("value, index => {index:index, value:value * 10}")
.WriteLine("$.index + ':' + $.value")

0:0
1:30
2:60
3:90
4:120
5:150
6:180

Generating Methods

method name return type arguments example (click code)
Choice Enumerable params T obj
Enumerable.Choice("a","b","c","d").Take(10)
Enumerable.Choice(["a","b","c","d"]).Take(10)
Cycle Enumerable params T obj
Enumerable.Cycle(1,"foo",true).Take(10)
Enumerable.Cycle([1,"foo",true]).Take(10)
Empty Enumerable ()
Enumerable.Empty()
From Enumerable Array obj
var arr = [1,124,"aaa",function(){},false];
Enumerable.From(arr)
Object obj
var obj = {a:3,b:"3",z:function(){},d:true};
Enumerable.From(obj).Select("$.Key + ':' + $.Value")
NodeList obj
var node = document.getElementsByTagName("h2");
Enumerable.From(node).Select("$.innerHTML")
Number obj
Enumerable.From(5)
String obj
Enumerable.From("foobar")
IEnumerable(WSH) obj
// using with Windows Script Host
// var fso = WScript.CreateObject("Scripting.FileSystemObject");
// var files = fso.GetFolder("C:\\").Files;
// Enumerable.From(files).Select("$.Name").ForEach("WScript.Echo($)");
Return Enumerable T element
Enumerable.Return("foobar")
Matches Enumerable string input, RegExp pattern
Enumerable.Matches("xbcyBCzbc", /(.)bc/i)
.Select("'index='+$.index+' all='+$[0]+' capture='+$[1]")
string input, string pattern
Enumerable.Matches("xbcyBCzbc", "(.)bc")
.Select("'index='+$.index+' all='+$[0]+' capture='+$[1]")
string input, string pattern, string flags
Enumerable.Matches("xbcyBCzbc", "(.)bc", "i")
.Select("'index='+$.index+' all='+$[0]+' capture='+$[1]")
Range Enumerable int start, int count
Enumerable.Range(10,5)
int start, int count, int step
Enumerable.Range(10,5,3)
RangeDown Enumerable int start, int count
Enumerable.RangeDown(10,5)
int start, int count, int step
Enumerable.RangeDown(10,5,3)
RangeTo Enumerable int start, int to
Enumerable.RangeTo(10,18)
Enumerable.RangeTo(3,-5)
int start, int to, int step
Enumerable.RangeTo(1,9,3)
Enumerable.RangeTo(1,-9,3)
Repeat Enumerable T obj
Enumerable.Repeat(3).Take(5)
T obj, int count
Enumerable.Repeat("foo",10)
RepeatWithFinalize Enumerable T initializer(), void finalizer(T)
// example for WScript(Text EnumerateLines and Finally Close)
// var fso = WScript.CreateObject("Scripting.FileSystemObject");
// Enumerable.RepeatWithFinalize(
// function () { return fso.OpenTextFile("C:\\file.txt") },
// function (ts) { ts.Close() })
// .TakeWhile(function (ts) { return !ts.AtEndOfStream })
// .Select(function (ts) { return ts.ReadLine() });
Generate Enumerable T func()
Enumerable.Generate("Math.random()").Take(5)
T func(), int count
Enumerable.Generate("Math.random()", 5)
ToInfinity Enumerable ()
Enumerable.ToInfinity().Take(5)
int start
Enumerable.ToInfinity(1000).Take(5)
int start, int step
Enumerable.ToInfinity(1000,5).Take(5)
ToNegativeInfinity Enumerable ()
Enumerable.ToNegativeInfinity().Take(5)
int start
Enumerable.ToNegativeInfinity(1000).Take(5)
int start, int step
Enumerable.ToNegativeInfinity(1000,5).Take(5)
Unfold Enumerable T seed, T func(T)
Enumerable.Unfold(5, "$+3").Take(10)

Projection and Filtering Methods

method name return type arguments example (click code)
CascadeBreadthFirst Enumerable T[] func(T)
Enumerable.Return(1).CascadeBreadthFirst("$+$").Take(5)
T[] func(T), T resultSelector(T)
Enumerable.Return(1).CascadeBreadthFirst("$+$","$*$").Take(5)
T[] func(T), T resultSelector(T, int)
Enumerable.Return(document.body)
.CascadeBreadthFirst("$.childNodes", "v,n=>{value:v,nestLevel:n}")
.Where("$.nestLevel<3 && $.value.nodeType == 1")
.Select("$.nestLevel + ':' + $.value.tagName")
CascadeDepthFirst Enumerable T[] func(T)
Enumerable.Return(1).CascadeDepthFirst("$+$").Take(5)
T[] func(T), T resultSelector(T)
Enumerable.Return(1).CascadeDepthFirst("$+$","$*$").Take(5)
T[] func(T), T resultSelector(T, int)
Enumerable.Return(document.body)
.CascadeDepthFirst("$.childNodes", "v,n=>{value:v,nestLevel:n}")
.Where("$.nestLevel<3 && $.value.nodeType == 1")
.Select("$.nestLevel + ':' + $.value.tagName")
Flatten Enumerable ()
var array = [1,[234,2,[62,3]],[234,5],3];
Enumerable.From(array).Flatten()
Pairwise Enumerable T selector(T, T)
Enumerable.Range(1,10)
.Pairwise("prev,next=>prev + ':' + next")
Scan Enumerable T func(T, T)
Enumerable.Range(1,10).Scan("a,b=>a+b")
T seed, T func(T, T)
Enumerable.Range(1,10).Scan(100,"a,b=>a+b")
T seed, T func(T, T), T resultSelector(T)
Enumerable.Range(1,10).Scan(100,"a,b=>a+b","$*10")
Select Enumerable T selector(T)
Enumerable.Range(1,10).Select("$*10")
T selector(T, int)
Enumerable.RangeDown(10,10).Select("value,index=>index + ':' + value")
SelectMany Enumerable T[] collectionSelector(T)
Enumerable.Range(1,3).SelectMany("Enumerable.Repeat($,3)")
T[] collectionSelector(T, int)
Enumerable.Range(5,5)
.SelectMany("value,index=>Enumerable.Repeat('str'+value,index+1)")
T[] collectionSelector(T), resultSelector(T, T)
Enumerable.Range(1,3)
.SelectMany("Enumerable.Repeat($,3)","first,middle=>first + ':' + middle*10")
T[] collectionSelector(T, int), resultSelector(T, T)
Enumerable.Range(5,5)
.SelectMany("v,i=>Enumerable.Repeat('str'+v,i+1)","f,m=>f + ':' + m")
Where Enumerable bool predicate(T)
Enumerable.Range(1,10).Where("$%2==0")
bool predicate(T, int)
Enumerable.Range(1,10).Where("value,index=>value*index>10")
OfType Enumerable Class type
Enumerable.From([1,"a",2,"b","c",3]).OfType(Number)
Enumerable.From([1,"a",2,"b","c",3]).OfType(String)
function ClassA(v){this.v = v}
Enumerable.From([new ClassA("a"),1,2,new ClassA("b")])
.OfType(ClassA).Select("$.v")
Zip Enumerable T[] second,T selector(T, T)
Enumerable.RangeDown(10,10)
.Zip(Enumerable.Range(1,10),"outer,inner=>outer + ':' + inner")
T[] second,T selector(T, T, int)
Enumerable.RangeDown(10,10)
.Zip(Enumerable.Range(1,10),"outer,inner,index=>index + ':' + outer*inner")

Join Methods

method name return type arguments example (click code)
Join Enumerable T[] inner, T outerKeySelector(T), T innerKeySelector(T), T resultSelector(T, T)
var array1 = [13,413,5,135,61,631,13,61,3];
var array2 = [13,134,53,6,3,7,13,7,7,135,61,3,13];
Enumerable.From(array1)
.Join(array2,"","","outer,inner=>outer + ':' + inner")
T[] inner, T outerKeySelector(T), T innerKeySelector(T), T resultSelector(T, T), T compareSelector(T)
var array1 = [10,405,50,135];
var array2 = [1,4,7,8];
Enumerable.From(array1)
.Join(array2,"","","outer,inner=>outer + ':' + inner","$%2==0")
GroupJoin Enumerable T[] inner, T outerKeySelector(T), T innerKeySelector(T), T resultSelector(T, Enumerable)
var array1 = [13,413,5,135,61,631,13,61,3];
var array2 = [13,134,53,6,3,7,13,7,7,135,61,3,13];
Enumerable.From(array1)
.GroupJoin(array2,"","","outer,lookup=>outer + ':' + lookup.ToString('-')")
T[] inner, T outerKeySelector(T), T innerKeySelector(T), T resultSelector(T, Enumerable), T compareSelector(T)
var array1 = [10,405,50,135];
var array2 = [1,4,7,8];
Enumerable.From(array1)
.GroupJoin(array2,"","","outer,lookup=>outer + ':' + lookup.ToString('-')","$%2==0")

Set Methods

method name return type arguments example (click code)
All Boolean bool predicate(T)
Enumerable.Range(1,10).All("$<5")
Enumerable.Range(1,10).All("$<15")
Any Boolean ()
Enumerable.Range(1,0).Any()
Enumerable.Range(1,10).Any()
bool predicate(T)
Enumerable.Range(1,10).Any("$==5")
Enumerable.Range(1,10).Any("$==15")
Concat Enumerable T[] second
Enumerable.Range(1,5).Concat(Enumerable.Repeat("foo",5))
Insert Enumerable int index, T[] second
Enumerable.Range(1,5).Insert(3,Enumerable.Repeat("foo",5))
Alternate Enumerable T value
Enumerable.Range(1,5).Alternate(-1)
Contains Boolean T value
Enumerable.Range(1,5).Contains(3)
Enumerable.Range(1,5).Contains(10)
T value, T compareSelector(T)
Enumerable.Range(1,5).Select("{test:$}").Contains(3)
Enumerable.Range(1,5).Select("{test:$}").Contains(3,"$.test")
DefaultIfEmpty Enumerable T defaultValue
Enumerable.Range(1,5).DefaultIfEmpty("default")
Enumerable.Range(1,0).DefaultIfEmpty("default")
Distinct Enumerable ()
var array = [1,412,5,3,5,412,7];
Enumerable.From(array).Distinct()
T compareSelector(T)
var seq = Enumerable.Range(1,10).Select("{test:$%3}");
seq.Distinct("$.test").Select("$.test")
Except Enumerable T[] second
var array1 = [1,412,5,3,5,412,7];
var array2 = [20,12,5,5,7,310];
Enumerable.From(array1).Except(array2)
T[] second, T compareSelector(T)
var seq1 = Enumerable.Range(1,10).Select("{test:$%5}");
var seq2 = Enumerable.Range(1,10).Select("{test:$%2}");
seq1.Except(seq2,"$.test").Select("$.test")
Intersect Enumerable T[] second
var array1 = [1,412,5,3,5,412,7];
var array2 = [20,12,5,5,7,310];
Enumerable.From(array1).Intersect(array2)
T[] second, T compareSelector(T)
var seq1 = Enumerable.Range(1,10).Select("{test:$%5}");
var seq2 = Enumerable.Range(1,10).Select("{test:$%2}");
seq1.Intersect(seq2,"$.test").Select("$.test")
SequenceEqual Boolean T[] second
Enumerable.Range(1,5).SequenceEqual(Enumerable.Range(1,5))
Enumerable.Range(1,5).SequenceEqual(Enumerable.Range(1,6))
T[] second, T compareSelector(T)
Enumerable.Range(1,10).Select("{test:$%5}")
.SequenceEqual(Enumerable.Range(1,10).Select("{test:$%5}"),"$.test")
Union Enumerable T[] second
var array1 = [1,412,5,3,5,412,7];
var array2 = [20,12,5,5,7,310];
Enumerable.From(array1).Union(array2)
T[] second, T compareSelector(T)
var seq1 = Enumerable.Range(1,5).Select("{test:$}");
var seq2 = Enumerable.Range(3,7).Select("{test:$}");
seq1.Union(seq2,"$.test").Select("$.test")

Ordering Methods

method name return type arguments example (click code)
OrderBy OrderedEnumerable ()
var array = [1,51,61,75,8,35,43];
Enumerable.From(array).OrderBy()
T keySelector(T)
var array = [{a:"a"},{a:"z"},{a:"k"},{a:"l"},{a:"m"},{a:"c"}];
Enumerable.From(array).OrderBy("$.a").Select("$.a")
OrderByDescending OrderedEnumerable ()
var array = [1,51,61,75,8,35,43];
Enumerable.From(array).OrderByDescending()
T keySelector(T)
var array = [{a:"a"},{a:"z"},{a:"k"},{a:"l"},{a:"m"},{a:"c"}];
Enumerable.From(array).OrderByDescending("$.a").Select("$.a")
ThenBy OrderedEnumerable T keySelector(T)
var list = [
{ a: 2, b: 4, c: 1 },
{ a: 2, b: 3, c: 7 },
{ a: 2, b: 3, c: 3 },
{ a: 4, b: 7, c: 5 },
{ a: 7, b: 3, c: 2 },
{ a: 4, b: 1, c: 5 }];
Enumerable.From(list).OrderBy("$.a").ThenBy("$.c").ThenBy("$.b")
.Select("$.a + ':' + $.b + ':' + $.c")
ThenByDescending OrderedEnumerable T keySelector(T)
var list = [
{ a: 2, b: 4, c: 1 },
{ a: 2, b: 3, c: 7 },
{ a: 2, b: 3, c: 3 },
{ a: 4, b: 7, c: 5 },
{ a: 7, b: 3, c: 2 },
{ a: 4, b: 1, c: 5 }];
Enumerable.From(list).OrderBy("$.a").ThenByDescending("$.c").ThenByDescending("$.b")
.Select("$.a + ':' + $.b + ':' + $.c")
Reverse Enumerable ()
Enumerable.Range(1,10).Reverse()
Shuffle Enumerable ()
Enumerable.Range(1,10).Shuffle()

Grouping Methods

method name return type arguments example (click code)
GroupBy Enumerable<Grouping> T keySelector(T)
Enumerable.Range(1,5).GroupBy("$%2==0")
.Select("$.Key() + ':' + $.ToString('-')")
T keySelector(T), T elementSelector(T)
Enumerable.Range(1,5).GroupBy("$%2==0","$*10")
.Select("$.Key() + ':' + $.ToString('-')")
Enumerable T keySelector(T), T elementSelector(T), T resultSelector(T, Enumerable)
Enumerable.Range(1,5)
.GroupBy("$%2==0","","key,e=>key+':'+e.ToString('-')")
TK keySelector(T), TE elementSelector(T), TR resultSelector(T, Enumerable),TC compareSelector(TK)
Enumerable.From([{d:new Date(2000,1,1),i:0},{d:new Date(2000,1,1),i:1}])
.GroupBy("$.d","","key,e=>key+':'+e.Select('$.i').ToArray()","$.toString()")
PartitionBy Enumerable<Grouping> T keySelector(T)
Enumerable.From([1,2,2,3,3,2,1,1]).PartitionBy("i=>i")
.Select("$.Key() + ':' + $.ToString('-')")
T keySelector(T), T elementSelector(T)
Enumerable.From([1,2,2,3,3,2,1,1]).PartitionBy("i=>i","i=>i*100")
.Select("$.Key() + ':' + $.ToString('-')")
Enumerable T keySelector(T), T elementSelector(T), T resultSelector(T, Enumerable)
Enumerable.From([1,2,2,3,3,2,1,1])
.PartitionBy("i=>i","i=>i","key,e=>key+':'+e.ToString('-')")
TK keySelector(T), TE elementSelector(T), TR resultSelector(T, Enumerable), TC compareSelector(TK)
Enumerable.From([{d:new Date(2000,1,1),i:0},{d:new Date(2000,1,1),i:1}])
.PartitionBy("$.d","","key,e=>key+':'+e.Select('$.i').ToArray()","$.toString()")
BufferWithCount Enumerable<Array> int count
Enumerable.Range(1,10).BufferWithCount(4)

Aggregate Methods

method name return type arguments example (click code)
Aggregate T T func(T, T)
Enumerable.Range(1,5).Aggregate("a,b=>a*b")
T seed, T func(T, T)
Enumerable.Range(1,10).Aggregate(100,"a,b=>a+b")
T seed, T func(T, T), T resultSelector(T)
Enumerable.Range(1,10).Aggregate(100,"a,b=>a+b","$*10")
Average Number ()
Enumerable.Range(1,10).Average()
Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.Average("$.b")
Count Number ()
Enumerable.Range(1,10).Count()
bool predicate(T)
Enumerable.Range(1,10).Count("$>7")
Max Number ()
Enumerable.Range(1,10).Max()
Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.Max("$.b")
Min Number ()
Enumerable.Range(1,10).Min()
Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.Min("$.b")
MaxBy T Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.MaxBy("$.b").a
MinBy T Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.MinBy("$.b").a
Sum Number ()
Enumerable.Range(1,10).Sum()
Number selector(T)
Enumerable.From([{a:"foo",b:5},{a:"bar",b:20},{a:"foobar",b:10}])
.Sum("$.b")

Paging Methods

method name return type arguments example (click code)
ElementAt T int index
Enumerable.Range(1,10).ElementAt(3)
ElementAtOrDefault T int index, T defaultValue
Enumerable.Range(1,10).ElementAtOrDefault(15,-1)
First T ()
Enumerable.Range(1,10).First()
bool predicate(T)
Enumerable.Range(1,10).First("$>4")
FirstOrDefault T T defaultValue
Enumerable.Empty().FirstOrDefault(-1)
T defaultValue, bool predicate(T)
Enumerable.Range(1,10).FirstOrDefault(-1,"$>15")
Last T ()
Enumerable.Range(1,10).Last()
bool predicate(T)
Enumerable.Range(1,10).Last("$<4")
LastOrDefault T T defaultValue
Enumerable.Empty().LastOrDefault(-1)
T defaultValue, bool predicate(T)
Enumerable.Range(1,10).LastOrDefault(-1,"$>15")
Single T ()
Enumerable.From("a").Single()
bool predicate(T)
Enumerable.Range(1,10).Single("$==4")
SingleOrDefault T T defaultValue
Enumerable.Empty().SingleOrDefault(-1)
T defaultValue, bool predicate(T)
Enumerable.Range(1,10).SingleOrDefault(-1,"$==15")
Skip Enumerable int count
Enumerable.Range(1,10).Skip(5)
SkipWhile Enumerable bool predicate(T)
Enumerable.Range(1,10).SkipWhile("$<=5")
bool predicate(T, int index)
Enumerable.Range(1,10).SkipWhile("value,index=>value+index<=5")
Take Enumerable int count
Enumerable.Range(1,10).Take(5)
TakeWhile Enumerable bool predicate(T)
Enumerable.Range(1,10).TakeWhile("$<=5")
bool predicate(T, int index)
Enumerable.Range(1,10).TakeWhile("value,index=>value+index<=5")
TakeExceptLast Enumerable ()
Enumerable.Range(1,10).TakeExceptLast()
Number count
Enumerable.Range(1,10).TakeExceptLast(3)
TakeFromLast Enumerable Number count
Enumerable.Range(1,10).TakeFromLast(3)
IndexOf int T item
Enumerable.Range(1,10).IndexOf(3)
Enumerable.Range(1,10).IndexOf(15)
LastIndexOf int T item
Enumerable.From([1,2,3,2,5]).LastIndexOf(2)
Enumerable.From([1,2,3,2,5]).LastIndexOf(20)

Convert Methods

method name return type arguments example (click code)
ToArray Array ()
Enumerable.Range(1,10).ToArray()
ToLookup Lookup TKey keySelector(T)
var lookup = Enumerable.From(["temp.xls", "temp.pdf", "temp.jpg", "temp2.pdf"])
.ToLookup("$.match(/\\.(.+$)/)[1]");
lookup.ToEnumerable().Select("$.Key() + ' : ' + $.ToArray()")
TKey keySelector(T), TElement elementSelector(T)
var lookup = Enumerable.From(["temp.xls", "temp.pdf", "temp.jpg", "temp2.pdf"])
.ToLookup("$.match(/\\.(.+$)/)[1]","$.match(/(.+)\\.[^.]+$/)[1]");
lookup.ToEnumerable().Select("$.Key() + ' : ' + $.ToArray()")
TKey keySelector(T), TElement elementSelector(T), TCompare compareSelector(TKey)
var lookup = Enumerable.From(["temp.xls", "temp.pdf", "temp.jpg", "temp2.pdf"])
.ToLookup("","","$.match(/\\.(.+$)/)[1]");
lookup.ToEnumerable().Select("$.Key() + ' : ' + $.ToArray()")
ToObject Object String keySelector(T), T elementSelector(T)
var obj = Enumerable.Range(1,10).Select("value,index=>{id:'id_' + index,value:value}")
.ToObject("$.id","$.value");
Enumerable.From(obj).Select("$.Key + ':' + $.Value")
ToDictionary Dictionary TKey keySelector(T), TElement elementSelector(T)
var dict = Enumerable.Range(1,10).Select("value,index=>{id:'id_' + index,value:value}")
.ToDictionary("$.id","$.value");
dict.ToEnumerable().Select("$.Key + ':' + $.Value")
TKey keySelector(T), TElement elementSelector(T), TCompare compareSelector(TKey)
var dict = Enumerable.Range(1,10).Select("value,index=>{id:'id_' + index,value:value}")
.ToDictionary("$","$.value","$;id");
dict.ToEnumerable().Select("$.Key.id + ':' + $.Value")
ToJSON String ()
// ToJSON only work Native JSON support browser or include json2.js
Enumerable.From([{Foo:1, Bar:'z'},{Foo:5, Bar:null}]).ToJSON()
TResult replacer(TKey, TValue)
Enumerable.From(["a","b","c"])
.ToJSON(function(k,v){return (typeof v === 'object') ? v : v.toString().toUpperCase()})
TResult replacer(TKey, TValue), Number space
Enumerable.Range(1, 5).ToJSON(null, 4)
ToString String ()
Enumerable.Range(0,10).ToString()
String separator
Enumerable.Range(0,10).ToString("-")
String separator, T selector(T)
Enumerable.From([{k:"foo"},{k:"bar"}]).ToString("-","$.k")

Action Methods

method name return type arguments example (click code)
Do Enumerable void action(T)
Enumerable.Range(1,10).Do(function(i){
document.write('do:'+ i +'|');})
.Where("$%2==0")
void action(T, index)
Enumerable.Range(1,10).Do(function(value,index){
document.write("do:" + index + '-' + value + "<br/>");})
.OrderBy("").Take(2)
ForEach void void action(T)
Enumerable.Range(1,10).ForEach(function(i){
document.write(i);})
void action(T, index)
Enumerable.Range(1,10).ForEach(function(value,index){
document.write(index + ':' + value + "<br/>");})
bool func(T)
Enumerable.Range(1, 10).ForEach(function(i)
{
if (i % 2 == 0) return; // continue
if (i > 6) return false; // break
document.write(i + "<br/>");
})
bool func(T, index)
Enumerable.Repeat("aaa", 10).ForEach(function(s,index)
{
if (index % 2 == 0) return; // continue
if (index > 6) return false; // break
document.write(index + s + "<br/>");
})
Write void ()
Enumerable.Range(1,10).Write()
String separator
Enumerable.Range(1,10).Write("-")
String separator, T selector(T)
Enumerable.From([{a:"foo",b:1},{a:"bar",b:3}])
.Write("-","$.a + ':' + $.b")
WriteLine void ()
Enumerable.Range(1,10).WriteLine()
T selector(T)
Enumerable.From([{a:"foo",b:1},{a:"bar",b:3}])
.WriteLine("$.a + ':' + $.b")
Force void ()
Enumerable.Range(1,10).Trace().Force()

Functional Methods

method name return type arguments example (click code)
Let Enumerable Enumerable<TR> func(Enumerable<T>)
Enumerable.Range(1,10).Let(function(x){return x.Zip(x.Skip(1),"x,y=>x + ':' + y")})
Share Enumerable ()
var share = Enumerable.Range(1,10).Share();
share.Take(4).WriteLine();
document.write("--- <br>");
share.Skip(2)
MemoizeAll Enumerable ()
var mem = Enumerable.Range(1,10)
.Do("document.write('--->' + $ + '<br>')").MemoizeAll();
mem.Where("$%2==0").WriteLine();
document.write("--- <br>");
mem.Where("$%2==0")

Error Handling Methods

method name return type arguments example (click code)
Catch Enumerable void handler(Error)
Enumerable.Range(1,10).Select(function(i){
if(i == 5) throw new Error("enumerable_error"); else return i;})
.Catch("document.write($.message)")
Finally Enumerable void finallyAction()
Enumerable.Range(1,5).Finally(function(){document.write("finally")})

For Debug Methods

method name return type arguments example (click code)
Trace Enumerable ()
// Trace is output to console.log
Enumerable.Range(1,10).Trace().Force()
String message
Enumerable.Range(1,10).Trace("Gen").Where("$%3==0").Trace("Filtered").Force()
String message, T selector(T)
Enumerable.From([{a:"foo",b:1},{a:"bar",b:3}])
.Trace("Gen","$.a").Force()

IEnumerator

method name return type arguments example (click code)
GetEnumerator IEnumerator ()
Enumerable.Range(1,10).GetEnumerator()
MoveNext Boolean ()
Enumerable.Range(1,10).GetEnumerator().MoveNext()
Current T ()
Enumerable.Range(1,10).GetEnumerator().Current()
Dispose void ()
Enumerable.Range(1,10).GetEnumerator().Dispose()

Dictionary

method name return type arguments example (click code)
Add void TKey key, TValue value
Enumerable.Empty().ToDictionary().Add(1, 'aaa')
Get TValue TKey key
Enumerable.Empty().ToDictionary().Get(1)
Set Boolean TKey key, TValue value
Enumerable.Empty().ToDictionary().Set(1, 'zzz')
Contains Boolean TKey key
Enumerable.Empty().ToDictionary().Contains(1)
Clear void ()
Enumerable.Empty().ToDictionary().Clear()
Remove void TKey key
Enumerable.Empty().ToDictionary().Remove(1)
Count Number ()
Enumerable.Empty().ToDictionary().Count()
ToEnumerable Enumerable ()
var dict = Enumerable.Empty().ToDictionary();
dict.Add("foo", 10); dict.Add("bar", 200);
dict.ToEnumerable().Select("$.Key + ':' + $.Value")

Lookup

method name return type arguments example (click code)
Get Enumerable<TElement> TKey key
Enumerable.From([{x:1,s:'a'},{x:1,s:'z'}])
.ToLookup("$.x").Get(1).Select("$.x + ':' + $.s")
Contains Boolean TKey key
Enumerable.From([{x:1,s:'a'},{x:1,s:'z'}])
.ToLookup("$.x").Contains(1)
Count Number ()
Enumerable.Range(1,5).ToLookup().Count()
ToEnumerable Enumerable<Grouping> ()
Enumerable.From([{a:1,s:'foo'},{a:1,s:'bar'},{a:2,s:'zzzzz'}])
.ToLookup("$.a").ToEnumerable()
.Select("$.Key() + ':' + $.Select('$.s').ToString('-')")

Grouping(inherit Eunmerable)

method name return type arguments example (click code)
Key TKey ()
Enumerable.From([{id:"foo",x:10},{id:"bar",x:20},{id:"foo",x:100}])
.GroupBy("$.id").ToArray()[0] // grouping
.Key()
All Enumerable Methods - -
var grouping = Enumerable.From([{id:"foo",x:10},{id:"foo",x:25},{id:"foo",x:100}])
.GroupBy("$.id").ToArray()[0];
grouping.Where("$.x % 10 == 0").Select("$.id + ':' + $.x")

jQuery plugin

method name return type arguments example (click code)
TojQuery jQuery ()
// Enumerable.Repeat("foo",10).TojQuery()
toEnumerable Enumerable<jQuery> ()
// $("div").toEnumerable()

RxJS Binding

method name return type arguments example (click code)
ToObservable Rx.Observable ()
// Enumerable.Range(1,10).ToObservable()
ToEnumerable Enumerable ()
// Rx.Observable.Range(1,10).ToEnumerable()

Jquery.Linq用法的更多相关文章

  1. jQuery $.each用法[转]

    jQuery $.each用法 以下内容非原创,来自百度文库http://wenku.baidu.com/view/4796b6145f0e7cd18425368e.html 通过它,你可以遍历对象. ...

  2. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  3. jquery cookie 用法

    jquery cookie 用法 $.cookie("name","value","options")  当不设置options时,此coo ...

  4. [转]Jquery Ajax用法

    原文地址:http://www.php100.com/html/program/jquery/2013/0905/6004.html jQuery学习之jQuery Ajax用法详解 来源:   时间 ...

  5. JQuery datepicker 用法

    JQuery datepicker 用法   jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加 ...

  6. jquery.cookie用法详细解析,封装的操作cookie的库有jquery.cookie.js

    jquery.cookie用法详细解析 需要注意存入cookie前,对数据进行序列化, 得到后在反序列化: 熟练运用:JSON.stringify();和JSON.parse(): 通常分为如下几个步 ...

  7. jquery.post用法补充(type设置问题)

    jquery.post用法 http://blog.csdn.net/itmyhome1990/article/details/12578275 当使用ajax获取data数据的时候,直接data.f ...

  8. linq用法整理

    linq用法整理 普通查询 var highScores = from student in students where student.ExamScores[exam] > score se ...

  9. jQuery -- 光阴似箭(一):初见 jQuery -- 基本用法,语法,选择器

    jQuery -- 知识点回顾篇(一):初见jQuery -- 基本用法,语法,选择器 1. 使用方法 jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数. ...

随机推荐

  1. 【第三篇】Volley图片加载之NetworkImageView代码分析

    在Volley的使用之加载图片讲过使用NetWorkImageView进行图片加载的例子,本文着重讲解NetWorkImageView内部是如何实现的,以及Volley这个控件有什么特性.   1,通 ...

  2. JSON及与XML比较

      JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - Decem ...

  3. RabbitMQ高可用配置(Haproxy + Keepalived)

    网络结构如下图: 共有104.105.106三台RabbitMQ Server,互为集群 其中104和105安装了Haproxy,每个Haproxy承担三台RabbitMQ server的负载均衡 两 ...

  4. JavaScript的BOM(浏览器对象)基础语法总结

    1.window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 2.history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能. ...

  5. git 和 svn

    GIT和SVN之间的五个基本区别 如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系 ...

  6. tomcat Server.xml Context配置

    有时候需要在tomcat里面做特殊的配置,来进行访问: 例如你的程序 名字是hello端口是80  这时候你要访问你的程序 就要用 localhost/hello 来访问了. 但是怎么直接用 loca ...

  7. 【NOIP2007提高组】字符串展开

    [题外话]这道题纯粹考验耐心,某些经常调程序调到摔键盘的人可以尝试 [题外话2]除了考耐心以外完全没有什么难点 [题外话3]也许会稍微恶心一点? [题外话4]其实我是在别人军训的时候滚来更博客的简直2 ...

  8. Java 反射 调用私有域和方法(setAccessible)

    Java 反射 调用私有域和方法(setAccessible) @author ixenos AccessibleObject类 Method.Field和Constructor类共同继承了Acces ...

  9. 浅析const标识符在C++函数的功能

    范例: class matrix { public: matrix(){}; const double getvalue(const unsigned row, const unsigned colu ...

  10. 重装系统之后Hexo快速配置

    安装准备软件 Node.js Git 打开 Git Bash hexo文件夹,右键: 配置SSH Keys 检查SSH keys设置,看一下电脑现有的ssh key cd ~/. ssh 检查本机的s ...