Use an explicit conversion : Casting Conversions « Data Types « C# / C Sharp






Use an explicit conversion

Use an explicit conversion
    
/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/


// Use an explicit conversion. 
 
using System; 
 
// A three-dimensional coordinate class. 
class ThreeD { 
  int x, y, z; // 3-D coordinates   
 
  public ThreeD() { x = y = z = 0; } 
  public ThreeD(int i, int j, int k) { x = i; y = j; z = k; } 
 
  // Overload binary +. 
  public static ThreeD operator +(ThreeD op1, ThreeD op2) 
  { 
    ThreeD result = new ThreeD(); 
 
    result.x = op1.x + op2.x;  
    result.y = op1.y + op2.y;  
    result.z = op1.z + op2.z;  
 
    return result; 
  } 
 
  // This is now explicit. 
  public static explicit operator int(ThreeD op1) 
  { 
    return op1.x * op1.y * op1.z; 
  } 
   
  // Show X, Y, Z coordinates. 
  public void show() 
  { 
    Console.WriteLine(x + ", " + y + ", " + z); 
  } 
} 
 
public class ThreeDDemo7 { 
  public static void Main() { 
    ThreeD a = new ThreeD(1, 2, 3); 
    ThreeD b = new ThreeD(10, 10, 10); 
    ThreeD c = new ThreeD(); 
    int i; 
 
    Console.Write("Here is a: "); 
    a.show(); 
    Console.WriteLine(); 
    Console.Write("Here is b: "); 
    b.show(); 
    Console.WriteLine(); 
 
    c = a + b; // add a and b together 
    Console.Write("Result of a + b: "); 
    c.show(); 
    Console.WriteLine(); 
 
    i = (int) a; // explicitly convert to int -- cast required 
    Console.WriteLine("Result of i = a: " + i); 
    Console.WriteLine(); 
 
    i = (int)a * 2 - (int)b; // casts required 
    Console.WriteLine("result of a * 2 - b: " + i); 
 
  } 
}


           
         
    
    
    
  








Related examples in the same category

1.An example that uses an implicit conversion operatorAn example that uses an implicit conversion operator
2.illustrates casting objectsillustrates casting objects
3.The use of the cast operatorThe use of the cast operator
4.Casting int float and byte
5.User-Defined Conversions: How It Works: Conversion Lookup
6.Conversions: Numeric Types
7.Numeric Types: Checked Conversions
8.Conversions:Numeric Types:Checked Conversions
9.Conversions:Numeric Types:Conversions and Member LookupConversions:Numeric Types:Conversions and Member Lookup
10.Conversions:Numeric Types:Explicit Numeric ConversionsConversions:Numeric Types:Explicit Numeric Conversions
11.Conversions of Classes (Reference Types)\To an Interface the Object Might ImplementConversions of Classes (Reference Types)\To an Interface 
 the Object Might Implement
12.Conversions of Classes (Reference Types):To the Base Class of an ObjectConversions of Classes (Reference Types):To the Base Class of an Object
13.User-Defined Conversions:A Simple ExampleUser-Defined Conversions:A Simple Example
14.Classes and Pre and Post Conversions
15.Conversion Lookup
16.InvalidCastException
17.NumberStyles.Integer
18.NumberStyles.None
19.NumberStyles.Integer | NumberStyles.AllowDecimalPoint
20.NumberStyles.Integer | NumberStyles.AllowThousands
21.NumberStyles.Integer | NumberStyles.AllowExponent
22.NumberStyles.HexNumber
23.Converts String to Any Other Type
24.Convert To Int 32
25.Converts a number value into a string that represents the number expressed in whole kilobytes.
26.Converts a numeric value into number expressed as a size value in bytes, kilobytes, megabytes, gigabytes, or terabytes depending on the size.
27.Returns a System.String representation of the value object
28.Convert string to char
29.Convert double value to bool and string
30.Converts a base data type to another base data type.