1+ module equalsoverl
2+
3+ // <Snippet2>
4+ let value = 112 uL
5+
6+ let testObjectForEquality ( obj : obj ) =
7+ printfn $" {value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n "
8+
9+ let byte1 = 112 uy
10+ printfn $" value = byte1: {value.Equals byte1,16}"
11+ testObjectForEquality byte1
12+
13+ let short1 = 112 s
14+ printfn $" value = short1: {value.Equals short1,17}"
15+ testObjectForEquality short1
16+
17+ let int1 = 112
18+ printfn $" value = int1: {value.Equals int1,19}"
19+ testObjectForEquality int1
20+
21+ let sbyte1 = 112 y
22+ printfn $" value = sbyte1: {value.Equals sbyte1,17}"
23+ testObjectForEquality sbyte1
24+
25+ let ushort1 = 112 us
26+ printfn $" value = ushort1: {value.Equals ushort1,16}"
27+ testObjectForEquality ushort1
28+
29+ let uint1 = 112 u
30+ printfn $" value = uint1: {value.Equals uint1,18}"
31+ testObjectForEquality uint1
32+
33+ let dec1 = 112 m
34+ printfn $" value = dec1: {value.Equals dec1,21}"
35+ testObjectForEquality dec1
36+
37+ let dbl1 = 112.
38+ printfn $" value = dbl1: {value.Equals dbl1,20}"
39+ testObjectForEquality dbl1
40+
41+ // The example displays the following output:
42+ // value = byte1: True
43+ // 112 (UInt64) = 112 (Byte): False
44+ //
45+ // value = short1: False
46+ // 112 (UInt64) = 112 (Int16): False
47+ //
48+ // value = int1: False
49+ // 112 (UInt64) = 112 (Int32): False
50+ //
51+ // value = sbyte1: False
52+ // 112 (UInt64) = 112 (SByte): False
53+ //
54+ // value = ushort1: True
55+ // 112 (UInt64) = 112 (UInt16): False
56+ //
57+ // value = uint1: True
58+ // 112 (UInt64) = 112 (UInt32): False
59+ //
60+ // value = dec1: False
61+ // 112 (UInt64) = 112 (Decimal): False
62+ //
63+ // value = dbl1: False
64+ // 112 (UInt64) = 112 (Double): False
65+ // </Snippet2>
0 commit comments