Wednesday, March 16, 2011

What is Namespaces???



මගේ පලවෙනි ලිපිය කියවද්දිම ඔයාට මේ ප්‍රශ්නේ එන්න ඇති. "මොකද්ද මේ namespace කියන්නේ කියල". ඔයාගේ ඒ ප්‍රශ්නෙට උත්තරයක් විදියට තමයි මම මේ ලිපිය ලියන්න හිතුවේ.

C# වලදි ඔයාට Console කියන වචනේ අහන්න ලැබුනනේ. අපි මුලින්ම කතා කලෙත් Console Application ගැනනෙ. ඇත්තටම Console කියන්නේ class එකක්. ඒ class එකේ තියෙනව WriteLine කියල function එකක්. මේවට තමයි pre-defined classes හා functions කියන්නේ.C# වල pre-defined functions විශාල ගනණක් තියෙනවා. ghraphics create කරගන්න,disk එකට data write කරගන්න,output එකක් display කරගන්න අපි මේ functions යොදා ගන්නවා.

මේ විදියට තියෙන හැම function එකකම කාර්‍යය වෙන වෙනම මතක තියගන්න එක මිනිහෙක්ට කරන්න පුළුවන් දෙයක් නෙමෙයිනෙ...අන්න ඒ අවුල ලිහන්න Microsoft සමාගම කලේ screen එකට write කරගන්න එකට අදාල functions එක class එකකටත් graphics වලට අදාල functions තවත් class එකකටත් වශයෙන් functions ගොනු කිරීමයි. ඒ ගොනුව වල එකතුවකට තමයි namespace එකක් කියන්නේ. එතකොට හැම function එකකම කාර්‍යය මතක තියාගන්න ඕන නැහැ. අදාල ගොනුව(namespace) ගැන අවබෝධයක් තිබීම පමණක් ප්‍රමාණවත් වෙනවා.





දැන් මම namespace වල තියෙන අනිත් වාසිය පැහැදිලි කරන්නන්. මෙහෙම හිතන්නකෝ...අපි Console කියල class එකක් හදල ඒක ඇතුලේ WriteLine කියල අපේම function එකක් create කරනවා. එතකොට C# compiler එකට Console කියන class එකෙන් refer වෙන්නේ pre-defined class එකද අපි create කරපු class එකද කියල වෙන් කරල අදුන ගන්න බැහැනේ. මේකට කියන්නේ name clashes කියල.


ඒ නිසා Microsoft සමාගම කලේ classes ටික namespace එකකට අන්තර්ගත කරල එමගින් නිවැරදිව refer වෙන class වෙන් කර හදුනා ගැනීමයි. ඔයා visual studio වලින් new project එකක් create කරගත්තාම project එකේ නමින්ම defualt namespace එකක් create වෙනව කියල ඔයට දකින්න ලැබෙන්න ඇති. අන්න ඒ namespace එකේ තමයි අපේ classes අඩංගු වෙන්නේ.

පහත කේතය මගින් මේ namespace concept එක අවබෝධ කරගැනීමට උත්සාහගන්න. 





using System;

class test
{
    static void Main()
    {
        Console.Write("sameera.Console.WriteLine(2, 3) return ");
        Console.WriteLine(sameera.Console.WriteLine(2, 3));
        Console.Write("\n abc(); => ");
        abc();
        Console.Write("test.abc(); => ");
        test.abc();
    }
    public static void abc()
    {
        Console.WriteLine("pre-defined WriteLine function\n");
    }

}
namespace sameera
{

    class Console
    {

        public static int WriteLine(int a,int b)
        {

            return a + b;

        }

    }

}

Wednesday, March 9, 2011

Command Line Argument




හරි දැන් ඔයා දන්නවා console එකට output එකක් ගන්නේ කොහොමද කියන එක.අපි ඊලගට බලමු C# වල Command line argument එකක් මගින් input ගන්නේ කොහොමද කියන එක.

Sample code 




using System;

public class Hello3
{
   public static void Main(string[] args)
   {
      Console.WriteLine("You entered the following {0} command line arguments:", args.Length );   
      for (int i=0; i < args.Length; i++)
      {
         Console.WriteLine("args[{0}] = {1}", i, args[i]); 
      }
   }
}

            

                  අපේ කේතය ගැන දැන් මම පුංචි පැහැදිලි කිරීමක් කරන්නන්. මෙහි ඇති විෂේශත්වය වන්නේ කේතය run කරන අවස්ථාවේම ඊට input ලබාදීමයි.

line 5 :-
            අපේ Main method එකට args කියන string array එක pass කරල තියෙනවා. (Arrays ගැන ඉදිරියේදී විස්තරාත්මකව බලමු)අපි ලබාදෙන commandline arguments තියාගන්නේ මේ "args"කියන array එක තුලයි. args වෙනුවට අපිට කැමති නමක් දෙන්න පුළුවන්. නමුත් එය string type වීම අනිවාර්ය වේ. C# කියන්නේ case sensitive programing language එකක් කියන එකත් , මේ Array එකේ elemenets index වෙන්නේ බිංදුවේ සිට කියන එකත් මතක තියාගන්න.


Thursday, March 3, 2011

Daily Game Mar 03 - Flaming Zombooka 2 Lev...


Play whole new extra levels for the popular game "Flaming Zombooka 2".

Flaming Zombooka 2 Lev... is powered by dailygame.org

Hello World


              දැන් coding වලට යමු හෙමනන්... සාමාන්යන් ඔනෑම Programing language 1ක් හැදෑරීමේදී එහි පලමු පියවර වන්නේ "Helloworld" output එක ලබා ගැනීමයි. මෙය C# Development environment එක නිවැරදිව ස්ථාපනය වී ඇත්ද යන්න තහවුරු කර ගැනීමටද භාවිතා කල හැකිය.

               පහත උදාහරණයෙන් දැක්වෙන්නේ c# භාවිතයෙන් Helloworld වැඩසටහනක් නිර්මාණය කරගන්නේ කොහොමද කියන එකයි.

Introduction to Visual Studio


Programing Language එකක මූලිකම කාර්ය වෙන්නේ පරිගනක වැඩසටහන් නිර්මාණය කිරීමයි. පරිගනකයේ තිබෙන විවිධ මූලාශ්‍ර භාවිතයෙන් අපට උවමනා පරිදි වැඩසටහනක් නිර්මාණය කිරීම හා එම වැඩසටහන run කිරීමට අදාල විවිධ විධාන ලබාදීම පරිගනක ක්‍රමලේඛන භාශාවක් මගින් ඉටුවෙනවා. 

            ඉතින් ඔයාල කවුරුත් දන්නවනෙ වර්තමානයේ මේ ආකාරයේ  පරිගනක ක්‍රමලේඛන භාශා විශාල ගනණක් බිහිවෙල තියෙනව කියන එක. එක් එක් අවධි වල විවිධ ක්‍රමලේඛන භාශා මෘදුකාංග ලෝකයේ වැජභුණු බවත් ඔයලා දන්නවනේ...ඉතින් මම මේ ලිපි පෙලින් බලපොරොත්තු වෙන්නේ Microsoft සමාගම විසින් C++ හා Java වල තිබූ හොද ලක්ෂණ කැටි කර හදුන්වා දුන් C# පිලිබදව ඔයාලගේ දැනුමට අලුතින් යමක් එකතු කරන්නයි.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Sameera Madushan | Bloggerized by Sameera - Premium Blogger Themes | Hosted Desktop