using System;
class MainClass
{
public static void Main()
{
try
{
MainClass MyObject = new MainClass();
IFormattable Formattable;
Formattable = (IFormattable)MyObject;
// wait for user to acknowledge the results
Console.WriteLine("Hit Enter to terminate...");
Console.Read();
}
catch(InvalidCastException)
{
Console.WriteLine("MyObject does not implement the IFormattable interface.");
}
}
}
Development Class
NullReferenceException Exception
using System;
class MyClass {
public int Value;
}
class MainClass
{
public static void Main()
{
try
{
MyClass MyObject = new MyClass();
MyObject = null;
MyObject.Value = 123;
// wait for user to acknowledge the results
Console.WriteLine("Hit Enter to terminate...");
Console.Read();
}
catch(NullReferenceException)
{
Console.WriteLine("Cannot reference a null object.");
// wait for user to acknowledge the results
Console.Read();
}
}
}
StackOverflowException Exception
using System;
class MainClass
{
public static void Main()
{
try
{
Recursive();
}
catch(StackOverflowException)
{
Console.WriteLine("The CLR is out of stack space.");
}
}
public static void Recursive()
{
Recursive();
}
}
OutOfMemoryException Exception
using System;
class MainClass
{
public static void Main()
{
int [] LargeArray;
try
{
LargeArray = new int [2000000000];
}
catch(OutOfMemoryException)
{
Console.WriteLine("The CLR is out of memory.");
}
}
}
Throw and Catch an IO exception because the file zxcvb.data doesn't exist
using System.IO;
public class IoError {
public static void Main() {
StreamReader f;
try{
f = new StreamReader("DoesNotExist.data");
}catch(IOException e) {
System.Console.WriteLine(e);
}
f = new StreamReader("DoesNotExist.data");
}
}
Convert byte array to Int32
using System;
using System.IO;
class MainClass
{
public static byte[] DecimalToByteArray (decimal src){
using (MemoryStream stream = new MemoryStream()) {
using (BinaryWriter writer = new BinaryWriter(stream)){
writer.Write(src);
return stream.ToArray();
}
}
}
public static decimal ByteArrayToDecimal (byte[] src){
using (MemoryStream stream = new MemoryStream(src)){
using (BinaryReader reader = new BinaryReader(stream)){
return reader.ReadDecimal();
}
}
}
public static void Main()
{
byte[] b = null;
b = BitConverter.GetBytes(true);
Console.WriteLine(BitConverter.ToString(b));
Console.WriteLine(BitConverter.ToBoolean(b, 0));
b = BitConverter.GetBytes(3678);
Console.WriteLine(BitConverter.ToString(b));
Console.WriteLine(BitConverter.ToInt32(b, 0));
b = DecimalToByteArray(285998345545.563846696m);
Console.WriteLine(BitConverter.ToString(b));
Console.WriteLine(ByteArrayToDecimal(b));
}
}
Convert byte array to String with BitConverter
using System;
using System.IO;
using System.Text;
class MainClass
{
public static void Main()
{
using (StreamWriter output = new StreamWriter("output.txt"))
{
string srcString = "Area = u03A0r^2";
output.WriteLine("Source Text : " + srcString);
byte[] utf16String = Encoding.Unicode.GetBytes(srcString);
output.WriteLine("UTF-16 Bytes: {0}",BitConverter.ToString(utf16String));
byte[] utf8String = Encoding.UTF8.GetBytes(srcString);
byte[] asciiString = Encoding.ASCII.GetBytes(srcString);
output.WriteLine("UTF-8 Bytes: {0}",
BitConverter.ToString(utf8String));
output.WriteLine("ASCII Bytes: {0}",
BitConverter.ToString(asciiString));
output.WriteLine("UTF-8 Text : {0}",Encoding.UTF8.GetString(utf8String));
output.WriteLine("ASCII Text : {0}",Encoding.ASCII.GetString(asciiString));
}
}
}