Paths in C#

   
  
/*
s = new FileStream("C:	empGoo.txt", FileMode.Create);

or use forward (Unix-style) slashes:

s = new FileStream("C:/temp/Goo.txt", FileMode.Create);

or use the at sign (@), which is a control-character suppressor:

s = new FileStream(@"C:	empGoo.txt", FileMode.Create);
*/

   
     


Deep Copy with MemoryStream

   
 
//http://simpledbbrowser.codeplex.com/
//License:  Microsoft Public License (Ms-PL)  
using System.Diagnostics;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace AWS.Framework.WPF.Utility
{
    public sealed class Helpers
    {
        public static T DeepCopy<T>(object toClone)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, toClone);
                ms.Position = 0;
                return (T)bf.Deserialize(ms);
            }
        }
   }
}

   
     


MemoryStream.ToArray, MemoryStream.ReadDecimal

   
  

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));
    }
    
}    

   
     


Use MemoryStream and BinaryReader to convert Byte array to decimal


   
 
using System;
using System.IO;

class Test {
    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 = BitConverter.GetBytes(true);
        // Convert a decimal to a byte array and display.
        b = DecimalToByteArray(12345678987654321.563846696m);
        Console.WriteLine(BitConverter.ToString(b));

        // Convert a byte array to a decimal and display.
        Console.WriteLine(ByteArrayToDecimal(b));
    }
}


           
         
     


Use MemoryStream and BinaryWriter to convert decimal to byte array


   
 

using System;
using System.IO;

class Test {
    // Create a byte array from a decimal.
    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 void Main() {
        byte[] b = DecimalToByteArray(285998345545.563846696m);
        // Convert a decimal to a byte array and display.
        Console.WriteLine(BitConverter.ToString(b));
    }
}

           
         
     


MemoryStream.Write

   
  
using System;
using System.IO;

public class MemTest {
    public static void Main() {
        MemoryStream memOut = new MemoryStream();

        byte[] bs = { 1, 2, 3, 4, 5, 6 };
        memOut.Write(bs, 0, bs.Length);

        memOut.Seek(+3, SeekOrigin.Begin);
        byte b = (byte)memOut.ReadByte();
        Console.WriteLine("Value: " + b);
    }
}

   
     


Create a MemoryStream

using System;
using System.IO;

class MemStreamApp
{
static void Main(string[] args)
{
MemoryStream m = new MemoryStream(64);
Console.WriteLine(“Length: {0} Position: {1} Capacity: {2}”,m.Length, m.Position, m.Capacity);

for (int i = 0; i < 64; i++) { m.WriteByte((byte)i); } Console.WriteLine("Length: {0} Position: {1} Capacity: {2}",m.Length, m.Position, m.Capacity); byte[] ba = m.GetBuffer(); foreach (byte b in ba) { Console.Write("{0,-3}", b); } m.Close(); } } [/csharp]