Using the as Keyword to Work with an Interface

image_pdfimage_print
   
 


using System;
   
public interface IPrintMessage
{
    void Print();
};
   
class Class1
{
    public void Print()
    {
        Console.WriteLine("Hello from Class1!");
    }
}
   
class Class2 : IPrintMessage
{
    public void Print()
    {
        Console.WriteLine("Hello from Class2!");
    }
}
   
class MainClass
{
    public static void Main()
    {
        PrintClass   PrintObject = new PrintClass();
   
        PrintObject.PrintMessages();
    }
}
   
class PrintClass
{
    public void PrintMessages()
    {
        Class1      Object1 = new Class1();
        Class2      Object2 = new Class2();
   
        PrintMessageFromObject(Object1);
        PrintMessageFromObject(Object2);
    }
   
    private void PrintMessageFromObject(object obj)
    {
        IPrintMessage PrintMessage;
   
        PrintMessage = obj as IPrintMessage;
        if(PrintMessage != null)
            PrintMessage.Print();
    }
}

    


as operator

image_pdfimage_print
   
 


using System;
   
class Employee { }
   
class ContractEmployee : Employee { }
   
class CastExample5
{
    public static void Main ()
    {
        Employee e = new Employee();
        Console.WriteLine("e = {0}", e == null ? "null" : e.ToString());
   
        ContractEmployee c  = e as ContractEmployee;
        Console.WriteLine("c = {0}", c == null ? "null" : c.ToString());
    }
}

    


Demonstrate a using alias

image_pdfimage_print

   

// Demonstrate a using alias. 
 
using System; 
 
// Create an alias for Counter.CountDown. 
using Count = Counter.CountDown; 
 
// Declare a namespace for counters. 
namespace Counter { 
  // A simple countdown counter. 
  class CountDown { 
    int val; 
 
    public CountDown(int n) { 
      val = n; 
    } 
 
    public void reset(int n) { 
      val = n; 
    } 
 
    public int count() { 
      if(val > 0) return val--; 
      else return 0; 
    } 
  } 
} 
 
public class NSDemo4 { 
  public static void Main() { 
    // Here, Count is used as a name for Counter.CountDown. 
    Count cd1 = new Count(10); 
    int i; 
 
    do { 
      i = cd1.count(); 
      Console.Write(i + " "); 
    } while(i > 0); 
    Console.WriteLine(); 
 
    Count cd2 = new Count(20); 
 
    do { 
      i = cd2.count(); 
      Console.Write(i + " "); 
    } while(i > 0); 
    Console.WriteLine(); 
 
    cd2.reset(4); 
    do { 
      i = cd2.count(); 
      Console.Write(i + " "); 
    } while(i > 0); 
    Console.WriteLine(); 
  } 
}

           
          


Using an alias to resolve ambiguity

image_pdfimage_print

   

/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// Alias.cs -- demonstrates using an alias to resolve ambiguity
//
//             Compile this program with the following command line:
//                 C:>csc Alias.cs
using System;
using MsgBox = System.Windows.Forms.MessageBox;
using System.Timers;

namespace nsNamespaces
{
    public class Alias
    {
        static Timer timer;
        static public void Main ()
        {
            // Create the timer object.
            timer = new Timer (2000);
            
            // This is a one-shot timer. Set auto reset to false
            timer.AutoReset = false;
            
            // Assign the event handler method.
            timer.Elapsed += new ElapsedEventHandler(ProcessTimerEvent);
            
            // Start the timer.
            timer.Start ();
            
            // Wait for the timeout to occur.
            MsgBox.Show ("Waiting for timer to expire", "Text");
        }

        // Timer event handler.
        private static void ProcessTimerEvent (Object obj, ElapsedEventArgs e)
        {
            MsgBox.Show ("The timer has expired. Press "OK" " +
                         " to terminate the program",
                         "Timer Expired");
            timer.Close ();
            Environment.Exit (0);
        }
    }
}



           
          


Validates the zip code with regular expression

image_pdfimage_print
   
 

//Microsoft Public License (Ms-PL)
//http://c4fdevkit.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace C4F.DevKit.WebServices
{
    /// <summary>
    /// Provides useful methods like conversion methods.
    /// </summary>
    public static class Utility
    {

        /// <summary>
        /// Validates the zip code
        /// </summary>
        /// <param name="zipCode">Zip code</param>
        /// <returns>True if zip code is valid</returns>
        public static bool ValidateZipCode(string zipCode)
        {
            if (String.IsNullOrEmpty(zipCode))
                return false;

            return Regex.IsMatch(zipCode, "(^[0-9]{5}$)|(^[0-9]{5}-[0-9]{4}$)");
        }
       
    }
}

   
     


Is valid url with regular expression

image_pdfimage_print
   
 

//The MIT License (MIT)
//http://arolibraries.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace AroLibraries.ExtensionMethods.Strings
{
    public static class StringExt
    {

        public static bool Ext_IsValidUrl(this string text)
        {
            ///Uri temp; return Uri.TryCreate(text);
            Regex rx = new Regex(@"http(s)?://([w-]+.)+[w-]+(/[w- ./?%&amp;=]*)?", RegexOptions.Compiled);
            return rx.IsMatch(text);
        }

    }
}

   
     


Regular expression with For each and split

image_pdfimage_print

   

/*
Learning C# 
by Jesse Liberty

Publisher: O&#039;Reilly 
ISBN: 0596003765
*/

 using System;
 using System.Text;
 using System.Text.RegularExpressions;

 namespace RegularExpressions
 {
    public class TesterRegularExpressions
    {
       public void Run()
       {
           string s1 =
               "One,Two,Three Liberty Associates, Inc.";
           Regex theRegex = new Regex(" |, |,");
           StringBuilder sBuilder = new StringBuilder();
           int id = 1;

           foreach (string subString in theRegex.Split(s1))
           {
               sBuilder.AppendFormat(
                   "{0}: {1}
", id++, subString);
           }
           Console.WriteLine("{0}", sBuilder);
       }

       [STAThread]
       static void Main()
       {
          TesterRegularExpressions t = new TesterRegularExpressions();
          t.Run();
       }
    }
 }