Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gtest-130.cs « tests « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6c6c1f1030e61294af775607679c59ae0692d4f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//-- ex-nullable-bool

using System;

class MyTest {
  public static void Main(String[] args) {
    Console.WriteLine("Note that null prints as blank or []\n");
    bool? b1 = null, b2 = false, b3 = true;
    bool? b4 = b1^b2, b5 = b1&b2, b6 = b1|b2;                     // null false null
    Console.WriteLine("[{0}] [{1}] [{2}]", b4, b5, b6);
    bool? b7 = b1^b3, b8 = b1&b3, b9 = b1|b3;                     // null null true
    Console.WriteLine("[{0}] [{1}] [{2}]", b7, b8, b9);
    Console.WriteLine(b1 != null ? "null is true" : "null is false");     // null is false
    Console.WriteLine(b1 == null ? "!null is true" : "!null is false");  // !null is false

    Console.WriteLine();
    bool?[] bvals = new bool?[] { null, false, true };
    Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
                      "x", "y", "x&y", "x|y", "x^y");
    foreach (bool? x in bvals) 
      foreach (bool? y in bvals) 
        Console.WriteLine("{0,-6} {1,-6} {2,-6} {3,-6} {4,-6}", 
                          x, y, x&y, x|y, x^y);
    Console.WriteLine();
    Console.WriteLine("{0,-6} {1,-6}", "x", "!x");
    foreach (bool? x in bvals) 
      Console.WriteLine("{0,-6} {1,-6}", x, !x);
  }
}