Project

General

Profile

root / branches / compiler / cSharp / ooasCompiler / src / libs / c5 / UserGuideExamples / TestSortedArray.cs @ 3

1
// C5 example: This should fail because C5 does not know how to build
2
// a comparer for Object.
3

    
4
// Similarly for Rec<string,int>
5

    
6
// Compile with 
7
//   csc /r:C5.dll TestSortedArray.cs 
8

    
9
using System;
10
using C5;
11
using SCG = System.Collections.Generic;
12

    
13
namespace TestSortedArray {
14
  class TestSortedArray {
15
    public static void Main(String[] args) {
16
      //       SortedArray<Object> sarr = new SortedArray<Object>();
17
      SCG.IComparer<Rec<string,int>> lexico =
18
	new DelegateComparer<Rec<string,int>>(
19
	    delegate(Rec<string,int> r1, Rec<string,int> r2) { 
20
	      int order = r1.X1.CompareTo(r2.X1);
21
	      return order==0 ? r1.X2.CompareTo(r2.X2) : order;
22
	    });
23
      SortedArray<Rec<string,int>> sarr = new SortedArray<Rec<string,int>>(lexico);
24
      sarr.Add(new Rec<string,int>("ole", 32));
25
      sarr.Add(new Rec<string,int>("hans", 77));
26
      sarr.Add(new Rec<string,int>("ole", 63));
27
      foreach (Rec<string,int> r in sarr)
28
	Console.WriteLine(r);
29
    }
30
  }
31
}