No history yet

C# Syntax aur Variables

C# پروگرام کا ڈھانچہ

کسی بھی پروگرامنگ زبان کو سیکھنے کا پہلا قدم اس کے بنیادی ڈھانچے کو سمجھنا ہے۔ C# میں، ہر چیز ایک منظم طریقے سے ترتیب دی جاتی ہے۔ سب سے آسان C# پروگرام بھی کچھ خاص حصوں پر مشتمل ہوتا ہے۔

using System;

namespace MyFirstApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

آئیے اس کوڈ کو حصوں میں تقسیم کرتے ہیں:

  • using System;: یہ لائن کمپائلر کو بتاتی ہے کہ ہم System نامی لائبریری استعمال کر رہے ہیں۔ اس لائبریری میں Console جیسی بہت سی پہلے سے بنی ہوئی مفید کلاسز موجود ہیں۔
  • namespace MyFirstApp: نیم اسپیس کوڈ کو منظم رکھنے کا ایک طریقہ ہے۔ یہ متعلقہ کلاسز کا ایک مجموعہ ہوتا ہے۔
  • class Program: C# ایک آبجیکٹ اوریئنٹڈ زبان ہے، اس لیے تمام کوڈ کلاسز کے اندر لکھا جاتا ہے۔ یہاں Program ہماری کلاس کا نام ہے۔
  • static void Main(string[] args): یہ آپ کے پروگرام کا انٹری پوائنٹ ہے۔ جب آپ پروگرام چلاتے ہیں، تو ایگزیکیوشن Main میتھڈ سے شروع ہوتی ہے۔
  • Console.WriteLine("Hello, World!");: یہ لائن کنسول (آپ کی اسکرین) پر "Hello, World!" پرنٹ کرتی ہے۔

اس کوڈ کو لکھنے اور چلانے کے لیے، آپ کو .NET SDK اور ایک IDE کی ضرورت ہوگی۔

SDK (Software Development Kit) میں آپ کے کوڈ کو کمپیوٹر کے سمجھنے والی زبان میں تبدیل کرنے کے لیے کمپائلر اور دیگر ٹولز ہوتے ہیں۔ IDE (Integrated Development Environment) جیسے کہ Visual Studio یا VS Code، کوڈ لکھنے، ڈیبگ کرنے اور پروگرام چلانے کے لیے ایک بہترین ماحول فراہم کرتا ہے۔

Variables اور Constants

پروگرامنگ میں، ہمیں ڈیٹا کو عارضی طور پر ذخیرہ کرنے کی ضرورت ہوتی ہے۔ یہ کام variables کے ذریعے کیا جاتا ہے۔ ایک variable کو میموری میں ایک نامزد کنٹینر سمجھیں جہاں آپ معلومات رکھ سکتے ہیں۔

Variable

noun

میموری میں ایک جگہ کا نام جس کا استعمال ڈیٹا کو ذخیرہ کرنے کے لیے کیا جاتا ہے۔ اس کی قدر پروگرام کے چلنے کے دوران تبدیل کی جا سکتی ہے۔

C# میں ایک variable بنانے کے لیے، آپ کو اس کی قسم (type)، نام، اور اختیاری طور پر ایک ابتدائی قدر (initial value) بتانی ہوتی ہے۔

// قسم اور نام کا اعلان
string playerName;

// قدر تفویض کرنا
playerName = "Aisha";

// اعلان اور تفویض ایک ساتھ
int score = 100;

کبھی کبھی، ہمیں ایسی قدر کی ضرورت ہوتی ہے جو پورے پروگرام میں تبدیل نہ ہو۔ اس کے لیے ہم const (constant) کا استعمال کرتے ہیں۔ ایک بار جب ایک کانسٹنٹ کی قدر مقرر ہو جاتی ہے، تو اسے تبدیل نہیں کیا جا سکتا۔

const double Pi = 3.14159;
// Pi کی قدر کو بعد میں تبدیل کرنے کی کوشش پر ایرر آئے گا۔

Data Types کی دنیا

C# ایک strongly-typed language ہے۔ اس کا مطلب ہے کہ آپ کو ہر variable کے لیے واضح طور پر بتانا ہوگا کہ اس میں کس قسم کا ڈیٹا ذخیرہ کیا جائے گا۔ یہ غلطیوں کو کم کرنے میں مدد کرتا ہے کیونکہ کمپائلر اس بات کو یقینی بناتا ہے کہ آپ کسی variable میں غلط قسم کا ڈیٹا نہ ڈالیں۔

بنیادی ڈیٹا کی اقسام دو بڑی کیٹیگریز میں آتی ہیں: Value Types اور Reference Types۔

Value Types براہ راست اپنی قدر کو میموری میں ذخیرہ کرتی ہیں۔ جب آپ ایک ویلیو ٹائپ variable کو دوسرے کو تفویض کرتے ہیں، تو قدر کی ایک کاپی بنتی ہے۔ عام ویلیو ٹائپس میں شامل ہیں:

TypeDescriptionExample
intمکمل اعداد (Integers)int age = 30;
doubleاعشاریہ والے اعداد (Floating-point)double price = 19.99;
decimalمالی حسابات کے لیے زیادہ درستگیdecimal salary = 95000.50m;
boolصرف true یا falsebool isActive = true;
charایک واحد حرفchar grade = 'A';

Reference Types اپنی قدر کو براہ راست ذخیرہ نہیں کرتیں۔ اس کے بجائے، وہ میموری میں اس مقام کا حوالہ (reference) ذخیرہ کرتی ہیں جہاں اصل ڈیٹا موجود ہے۔ جب آپ ایک ریفرنس ٹائپ variable کو دوسرے کو تفویض کرتے ہیں، تو صرف حوالہ کاپی ہوتا ہے، اصل ڈیٹا نہیں۔ دونوں variables ایک ہی ڈیٹا کی طرف اشارہ کر رہے ہوتے ہیں۔

string سب سے عام ریفرنس ٹائپ ہے جو آپ شروع میں استعمال کریں گے۔ یہ حروف کے ایک سلسلے (sequence of characters) کی نمائندگی کرتا ہے۔

string message = "Welcome to C# programming!";

Type Casting اور Conversion

کبھی کبھی ہمیں ایک ڈیٹا کی قسم کو دوسری میں تبدیل کرنے کی ضرورت پڑتی ہے۔ اس عمل کو ٹائپ کاسٹنگ یا کنورژن کہتے ہیں۔ C# میں اس کے دو طریقے ہیں۔

1. Implicit Casting (خودکار) یہ خود بخود ہوتا ہے جب آپ ایک چھوٹی قسم کی قدر کو ایک بڑی قسم میں ڈالتے ہیں، جہاں ڈیٹا کے ضائع ہونے کا کوئی خطرہ نہیں ہوتا۔

int myInt = 9;
double myDouble = myInt; // خودکار طور پر int سے double میں تبدیل

Console.WriteLine(myDouble); // آؤٹ پٹ: 9

2. Explicit Casting (واضح) یہ دستی طور پر کیا جاتا ہے جب آپ ایک بڑی قسم کی قدر کو ایک چھوٹی قسم میں ڈالتے ہیں، جہاں ڈیٹا ضائع ہو سکتا ہے۔ آپ کو کمپائلر کو بتانا پڑتا ہے کہ آپ یہ جان بوجھ کر کر رہے ہیں۔

double myDouble = 9.78;
int myInt = (int)myDouble; // دستی طور پر double سے int میں تبدیل

Console.WriteLine(myInt); // آؤٹ پٹ: 9 (اعشاریہ حصہ ضائع ہو گیا)

جب آپ کو مختلف اقسام، خاص طور پر string سے تبدیل کرنے کی ضرورت ہو، تو بلٹ ان Convert کلاس کا استعمال کرنا ایک محفوظ طریقہ ہے۔

string numberString = "123";
int number = Convert.ToInt32(numberString);

Console.WriteLine(number * 2); // آؤٹ پٹ: 246

Console پر کام کرنا

کنسول ایپلی کیشنز میں، آپ صارف سے ان پٹ لے سکتے ہیں اور انہیں آؤٹ پٹ دکھا سکتے ہیں۔

  • Console.ReadLine(): صارف سے ٹیکسٹ کی ایک لائن ان پٹ کے طور پر لیتا ہے اور اسے string کے طور پر واپس کرتا ہے۔
  • Console.WriteLine(): اسکرین پر ٹیکسٹ دکھاتا ہے اور پھر کرسر کو اگلی لائن پر لے جاتا ہے۔

آئیے ان سب کو ملا کر ایک چھوٹا پروگرام بناتے ہیں جو صارف سے اس کا نام اور عمر پوچھتا ہے اور پھر ایک پیغام دکھاتا ہے۔

using System;

namespace UserInputApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // صارف سے نام پوچھنا
            Console.Write("Please enter your name: ");
            string userName = Console.ReadLine();

            // صارف سے عمر پوچھنا
            Console.Write("Please enter your age: ");
            string ageString = Console.ReadLine();

            // عمر کو int میں تبدیل کرنا
            int userAge = Convert.ToInt32(ageString);

            // نتیجہ دکھانا
            Console.WriteLine($"Hello, {userName}! You are {userAge} years old.");
        }
    }
}

یہاں $ کے نشان کا استعمال string interpolation کہلاتا ہے۔ یہ آپ کو آسانی سے variables کو ایک string کے اندر شامل کرنے کی اجازت دیتا ہے۔

Quiz Questions 1/6

C# پروگرام کا انٹری پوائنٹ (entry point) کون سا میتھڈ ہوتا ہے؟

Quiz Questions 2/6

C# میں، ایک ویری ایبل جسے ایک بار قدر تفویض کرنے کے بعد تبدیل نہیں کیا جا سکتا، اسے _____ کی ورڈ کا استعمال کرتے ہوئے ڈیکلیئر کیا جاتا ہے۔

آپ نے C# کی بنیادیں سیکھ لی ہیں۔ اب آپ سادہ کنسول پروگرام بنانے کے لیے تیار ہیں۔