zoukankan      html  css  js  c++  java
  • Jquery.Linq用法

    下载: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()
  • 相关阅读:
    git_02_git常用操作命令
    git_01_上传第一个项目至git
    Jenkins持续集成_04_解决HTML测试报告样式丢失问题
    Jenkins持续集成_03_添加测试报告
    Jenkins持续集成_02_添加python项目&设置定时任务
    Jenkins持续集成_01_Mac安装配置
    Mac获取Jenkins管理员初始密码
    (appium+python)UI自动化_10_adb常用命令
    安卓monkey自动化测试,软硬回车
    冒烟测试
  • 原文地址:https://www.cnblogs.com/zcm123/p/6016976.html
Copyright © 2011-2022 走看看