C# میں صفوں کو کیسے شروع کریں

C My Sfw Kw Kys Shrw Kry



C# میں، صفیں ایک ہی قسم کے ڈیٹا کے عناصر کو ذخیرہ کرنے کے لیے کنٹینرز کے طور پر کام کرتی ہیں۔ ایک صف بناتے وقت، عناصر کے ساتھ اسے شروع کرنے کے متعدد طریقے ہوتے ہیں۔ یہ مضمون C# میں صفوں کو شروع کرنے کے مختلف طریقوں پر روشنی ڈالتا ہے، ہر ایک نقطہ نظر کی ایک جامع تلاش فراہم کرتا ہے۔

C# میں صفوں کو شروع کرنے کے طریقے

Arrays کمپیوٹر پروگرامنگ میں ڈیٹا کا ایک لازمی ڈھانچہ ہے جو آپ کو ایک ہی ڈیٹا ٹائپ کے عناصر کے مجموعے کو مربوط میموری والے مقامات پر ذخیرہ کرنے اور ان میں ترمیم کرنے کی اجازت دیتا ہے۔ C# میں صفوں کو شروع کرنے کے کچھ طریقے یہ ہیں:







1: Array Initializer Syntax کا استعمال کرتے ہوئے اریوں کو شروع کرنا

ایک صف کو شروع کرنے کا سب سے سیدھا طریقہ سرنی شروع کرنے والے نحو کو استعمال کرنا ہے کیونکہ اس میں سرنی کے عناصر کو منحنی خطوط وحدانی میں بند کرنا شامل ہے، کوما سے الگ کیا گیا ہے، مثال کے طور پر:



int [ ] نمبرز = { 1 , 2 , 3 , 4 , 5 } ;


اس کوڈ میں، 'نمبرز' کے نام سے ایک عددی صف بنائی جاتی ہے اور 1 سے 5 تک کی اقدار کے ساتھ شروع کی جاتی ہے۔



int [ , ] myMultiDimensionalArray = { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;


یہاں ایک مثالی کوڈ ہے جو C# میں 1D اور 2D سرنی کو شروع کرنے کے لیے انیشیلائزر نحو کا استعمال کرتا ہے۔





سسٹم کا استعمال کرتے ہوئے؛

کلاس صف
{
جامد باطل مین ( تار [ ] args )
{
// انیشیلائزر نحو کا استعمال کرتے ہوئے 1D صف کو شروع کرنا
int [ ] array1D = { 1 , 2 , 3 , 4 , 5 } ;
Console.WriteLine ( 'Aray1D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < array1D.Length; i++ ) {
Console.WriteLine ( array1D [ میں ] ) ;
}
// انیشیلائزر نحو کا استعمال کرتے ہوئے 2D صف کو شروع کرنا
int [ , ] array2D = { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;
Console.WriteLine ( 'Aray2D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < array2D.GetLength ( 0 ) ; i++ ) {
کے لیے ( int j = 0 ; جے < array2D.GetLength ( 1 ) ; j++ ) {
Console.WriteLine ( '({0}، {1}): {2}' ، i، j، array2D [ i، j ] ) ;
}
}
}
}


اس کوڈ میں، ہم 1، 2، 3، 4، اور 5 کی اقدار کے ساتھ array1D نامی 1 جہتی عددی صف کو شروع کرنے کے لیے انیشیلائزر نحو کا استعمال کر رہے ہیں۔

ہم ایک 2 جہتی عددی صف کو شروع کرنے کے لیے بھی استعمال کر رہے ہیں جسے array2D کہا جاتا ہے قدروں {1, 2}, {3, 4}, اور {5, 6} کے ساتھ۔



اس کے بعد ہم ہر صف کے ہر عنصر کے ذریعے اعادہ کرنے اور کنسول پر اس کی قدر کو پرنٹ کرنے کے لیے لوپس کے لیے اضافی استعمال کر رہے ہیں۔

2: نئے مطلوبہ الفاظ کا استعمال کرتے ہوئے اریوں کو شروع کرنا

ایک صف کو شروع کرنے کے لیے ایک اضافی طریقہ میں استعمال کرنا شامل ہے۔ نئی کلیدی لفظ اس میں مربع بریکٹ میں سرنی کا سائز بتانا شامل ہے، اس کے بعد نیا کلیدی لفظ، اور پھر سرنی عناصر کی ڈیٹا کی قسم۔ مثال کے طور پر:

int [ ] نمبرز = نیا انٹ [ 5 ] ;


یہ کوڈ 5 کے سائز کے ساتھ نمبروں کے نام سے ایک عددی سرنی بناتا ہے اور تمام عناصر کو ان کی ڈیفالٹ قدر میں شروع کرتا ہے، جو کہ عددی صفوں کے لیے 0 ہے۔

C# میں نئے مطلوبہ الفاظ کا استعمال کرتے ہوئے کثیر جہتی صف کو شروع کرنے کے لیے یہ نحو ہے:

< قسم > [ , ] < arrayName > = نیا < قسم > [ < لمبائی 1 > , < لمبائی 2 > ،... ] { { < ابتدائی اقدار > } } ;


اس نحو میں، صف کے عناصر کی ڈیٹا کی قسم ہے، صف کا نام ہے، ، ، اور اسی طرح ہر طول و عرض میں صف کی لمبائی، اور صف کے عناصر کی ابتدائی قدریں ہیں۔

2-جہتی عددی صف کو شروع کرنے کے لیے اس نحو کو کیسے استعمال کیا جائے اس کی ایک مثال یہ ہے:

int [ , ] myArray = نیا انٹ [ 3 , 2 ] { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;


اس مثال میں، ہم نئے مطلوبہ لفظ کا استعمال کرتے ہوئے 3 قطاروں اور 2 کالموں کے ساتھ myArray نامی 2d انٹیجر اری شروع کر رہے ہیں۔ ہم ڈبل کرلی منحنی خطوط وحدانی نحو کا استعمال کرتے ہوئے صف کے ہر عنصر کے لیے ابتدائی اقدار بھی فراہم کر رہے ہیں۔ قدریں {1, 2}, {3, 4}, اور {5, 6} ہیں، جو ہر قطار کے عناصر سے مطابقت رکھتی ہیں۔

یہاں ایک مثال ہے کہ نئے کلیدی لفظ کو C# میں 1-جہتی اور 2-جہتی سرنی دونوں کو شروع کرنے کے لیے کس طرح استعمال کیا جائے، ہر صف میں اقدار کو پرنٹ کرنے کے لیے کوڈ کے ساتھ:

سسٹم کا استعمال کرتے ہوئے؛

کلاس صف
{
جامد باطل مین ( تار [ ] args )
{
// شروع کرنا a 1 - جہتی صف
int [ ] myArray1D = نیا انٹ [ ] { 1 , 2 , 3 , 4 , 5 } ;
Console.WriteLine ( 'myArray1D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < myArray1D.Length; i++ )
{
Console.WriteLine ( myArray1D [ میں ] ) ;
}
// شروع کرنا a 2 - جہتی صف
int [ , ] myArray2D = نیا انٹ [ , ] { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;
Console.WriteLine ( 'myArray2D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < myArray2D.GetLength ( 0 ) ; i++ )
{
کے لیے ( int j = 0 ; جے < myArray2D.GetLength ( 1 ) ; j++ )
{
Console.WriteLine ( '({0}، {1}): {2}' ، i، j، myArray2D [ i، j ] ) ;
}
}
}
}


اس کوڈ میں، ہم نئے مطلوبہ الفاظ کو استعمال کر رہے ہیں جس کو ایک جہتی انٹیجر اری کہتے ہیں۔ myArray1D اقدار 1، 2، 3، 4، اور 5 کے ساتھ، اور ایک 2 جہتی عددی صف کہلاتی ہے myArray2D قدروں کے ساتھ {1، 2}، {3، 4}، اور {5، 6}۔

اس کے بعد ہم ہر صف کے ہر عنصر کے ذریعے اعادہ کرنے کے لیے لوپس کا استعمال کر رہے ہیں اور کنسول پر اس کی قدر پرنٹ کر رہے ہیں۔ نوٹ کریں کہ 2 جہتی صف کے لیے، ہم استعمال کر رہے ہیں۔ GetLength() قطاروں اور کالموں کی تعداد کا تعین کرنے کے لیے، اور ہر عنصر کے ذریعے اعادہ کرنے کے لیے nested for loops کا استعمال کریں۔

3: لوپس کا استعمال کرتے ہوئے اریوں کو شروع کرنا

اریوں کو لوپس کا استعمال کرتے ہوئے بھی شروع کیا جا سکتا ہے۔ ایک نقطہ نظر یہ ہے کہ a for loop کو ملازمت دی جائے، جو آپ کو صف کے ذریعے اعادہ کرنے اور ہر عنصر کو اقدار تفویض کرنے کے قابل بناتا ہے۔

int [ ] نمبرز = نیا انٹ [ 5 ] ;
کے لیے ( int i = 0 ; میں < تعداد. لمبائی i++ )
{
نمبرز [ میں ] = میں + 1 ;
}


یہ کوڈ 5 کے سائز کے ساتھ نمبروں کے نام سے ایک عددی سرنی بناتا ہے اور ہر عنصر کو اس کے انڈیکس پلس 1 کے برابر ایک قدر تفویض کرتا ہے۔ لوپس کا استعمال کرتے ہوئے C# میں 2-جہتی عددی صف کو شروع کرنے کا طریقہ یہاں ایک مثال ہے۔

int [ , ] myArray = نیا انٹ [ 3 , 2 ] ;
کے لیے ( int i = 0 ; میں < 3 ; i++ )
{
کے لیے ( int j = 0 ; جے < 2 ; j++ )
{
myArray [ i، j ] = i + j;
}
}


اس مثال میں، ہم 2 جہتی انٹیجر سرنی کے ہر عنصر کے ذریعے تکرار کرنے کے لیے nested for loops کا استعمال کر رہے ہیں myArray ، جس میں 3 قطاریں اور 2 کالم ہیں۔ ہر عنصر کے لیے، ہم ایکسپریشن i + j کا استعمال کرتے ہوئے اس کی قدر کو اس کی قطار اور کالم انڈیکس کے مجموعہ پر سیٹ کر رہے ہیں۔

یہاں ایک مثال ہے کہ C# میں 1-جہتی اور 2-جہتی سرنی دونوں کو شروع کرنے کے لیے لوپس کو کس طرح استعمال کیا جائے، ہر صف میں اقدار کو پرنٹ کرنے کے لیے کوڈ کے ساتھ:

سسٹم کا استعمال کرتے ہوئے؛

کلاس صف
{
جامد باطل مین ( تار [ ] args )
{
// شروع کرنا a 1 ایک لوپ کا استعمال کرتے ہوئے جہتی صف
int [ ] myArray1D = نیا انٹ [ 5 ] ;
کے لیے ( int i = 0 ; میں < myArray1D.Length; i++ )
{
myArray1D [ میں ] = میں + 1 ;
}
Console.WriteLine ( 'myArray1D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < myArray1D.Length; i++ )
{
Console.WriteLine ( myArray1D [ میں ] ) ;
}
// شروع کرنا a 2 نیسٹڈ لوپس کا استعمال کرتے ہوئے جہتی صف
int [ , ] myArray2D = نیا انٹ [ 3 , 2 ] ;
کے لیے ( int i = 0 ; میں < 3 ; i++ )
{
کے لیے ( int j = 0 ; جے < 2 ; j++ )
{
myArray2D [ i، j ] = i + j;
}
}
Console.WriteLine ( 'myArray2D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < 3 ; i++ )
{
کے لیے ( int j = 0 ; جے < 2 ; j++ )
{
Console.WriteLine ( '({0}، {1}): {2}' ، i، j، myArray2D [ i، j ] ) ;
}
}
}
}


اس کوڈ میں، ہم 1، 2، 3، 4، اور 5 کی قدروں کے ساتھ myArray1D نامی 1 جہتی عددی صف کو شروع کرنے کے لیے ایک for لوپ کا استعمال کر رہے ہیں۔ myArray2D قدروں کے ساتھ {0, 1}, {1, 2}, اور {2, 3} اظہار i + j کا استعمال کرتے ہوئے۔

پھر لوپس کے لیے اضافی کا استعمال کرتے ہوئے ہر صف کے ہر عنصر کے ذریعے اعادہ کریں اور کنسول پر اس کی قدر پرنٹ کریں۔

4: Array.Copy() کا استعمال کرتے ہوئے اریوں کو شروع کرنا

ایک صف شروع کرنے کے لیے ایک متبادل نقطہ نظر میں Array.Copy() فنکشن کا استعمال شامل ہے۔ اس میں مطلوبہ عناصر کے ساتھ سورس اری بنانا اور پھر انہیں ٹارگٹ اری میں کاپی کرنا شامل ہے۔ مثال کے طور پر:

int [ ] ذریعہ = { 1 , 2 , 3 , 4 , 5 } ;
int [ ] ہدف = نیا انٹ [ source.Length ] ;
Array.Copy ( ذریعہ ، ہدف، ذریعہ۔ لمبائی ) ;


یہ کوڈ 1 سے 5 کی قدروں کے ساتھ ماخذ کے نام سے ایک عددی سرنی بناتا ہے، ماخذ کے برابر سائز کے ساتھ ہدف کے نام سے ایک نیا انٹیجر سرنی بناتا ہے، اور پھر عناصر کو ماخذ سے ہدف تک کاپی کرتا ہے۔

مجھے C# میں دو جہتی عددی صف شروع کرنے کے لیے Array.Copy کے استعمال کو ظاہر کرنے والی ایک مثال پیش کرنے کی اجازت دیں:

int [ , ] sourceArray = { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;
int [ , ] destinationArray = نیا انٹ [ 3 , 2 ] ;

Array.Copy ( sourceArray، destinationArray، sourceArray.Length ) ;


اس مثال میں، ہمارے پاس 2 جہتی عددی صف ہے جسے کہتے ہیں۔ sourceArray 3 قطاروں اور 2 کالموں کے ساتھ۔ ہم استعمال کر رہے ہیں۔ Array.Copy() sourceArray کے مواد کو destinationArray نامی ایک نئی 2-جہتی عددی صف میں کاپی کرنے کے لیے، جس میں 3 قطاریں اور 2 کالم بھی ہیں۔

دی Array.Copy() طریقہ اختیار کرتا ہے تین دلائل : the ماخذ صف , the منزل کی صف ، اور لمبائی کاپی کیے جانے والے ڈیٹا کا۔ اس صورت میں، ہم کا پورا مواد کاپی کر رہے ہیں۔ sourceArray میں destinationArray ، تو ہم گزر جاتے ہیں۔ sourceArray.Length تیسری دلیل کے طور پر.

نوٹ کریں کہ آپ استعمال کرسکتے ہیں۔ Array.Copy() طول و عرض کی کسی بھی تعداد کے ساتھ صفوں کو شروع کرنے کے لیے، جب تک کہ ماخذ اور منزل کی صفوں میں طول و عرض کی ایک ہی تعداد اور ہر جہت میں ایک ہی سائز ہو۔

اس کے علاوہ یہ بھی ذہن میں رکھیں Array.Copy() سورس ارے کی اتلی کاپی انجام دیتا ہے، جس کا مطلب ہے کہ اگر سورس اری میں ریفرنس کی قسمیں ہیں، تو حوالہ جات کاپی کیے جائیں گے لیکن آبجیکٹ خود ڈپلیکیٹ نہیں ہوں گے۔

یہاں مکمل کوڈ ہے جو استعمال کرتا ہے۔ Array.Copy() C# میں صف کو شروع کرنے کے لیے فنکشن:

سسٹم کا استعمال کرتے ہوئے؛

کلاس صف
{
جامد باطل مین ( تار [ ] args )
{
// شروع کرنا a 1 Array.Copy کا استعمال کرتے ہوئے جہتی صف
int [ ] sourceArray1D = { 1 , 2 , 3 , 4 , 5 } ;
int [ ] destinationArray1D = نیا انٹ [ 5 ] ;
Array.Copy ( sourceArray1D, destinationArray1D, sourceArray1D.Length ) ;
Console.WriteLine ( 'منزل Array1D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < destinationArray1D.Length; i++ ) {
Console.WriteLine ( destinationArray1D [ میں ] ) ;
}
// شروع کرنا a 2 Array.Copy کا استعمال کرتے ہوئے جہتی صف
int [ , ] sourceArray2D = { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } } ;
int [ , ] destinationArray2D = نیا انٹ [ 3 , 2 ] ;
Array.Copy ( sourceArray2D, destinationArray2D, sourceArray2D.Length ) ;
Console.WriteLine ( 'منزل Array2D میں قدریں:' ) ;
کے لیے ( int i = 0 ; میں < destinationArray2D.GetLength ( 0 ) ; i++ ) {
کے لیے ( int j = 0 ; جے < destinationArray2D.GetLength ( 1 ) ; j++ ) {
Console.WriteLine ( '({0}، {1}): {2}' , i, j, destinationArray2D [ i، j ] ) ;
}
}
}
}


اس کوڈ میں، ہم استعمال کر رہے ہیں۔ Array.Copy() 1 جہتی انٹیجر اری کو شروع کرنے کے لیے جس کو destinationArray1D کہا جاتا ہے جس کی قدر 1، 2، 3، 4، اور 5 کے ساتھ ایک سورس اری سے sourceArray1D کہا جاتا ہے۔

ہم بھی استعمال کر رہے ہیں۔ Array.Copy() sourceArray2D کہلانے والے سورس اری سے {1, 2}, {3, 4} اور {5, 6} کی قدروں کے ساتھ destinationArray2D نامی 2 جہتی انٹیجر سرنی کو شروع کرنے کے لیے۔

اس کے بعد ہم ہر صف کے ہر عنصر کے ذریعے اعادہ کرنے اور کنسول پر اس کی قدر کو پرنٹ کرنے کے لیے لوپس کے لیے اضافی استعمال کر رہے ہیں۔

نتیجہ

اس مضمون میں، ہم نے C# میں صفوں کو شروع کرنے کے مختلف طریقے تلاش کیے ہیں۔ ہم نے نئے کلیدی لفظ کا استعمال کرتے ہوئے، لوپس کا استعمال کرتے ہوئے اریوں کو شروع کرتے ہوئے، اور Array.Copy() طریقہ استعمال کرتے ہوئے، اری انیشیلائزر نحو کا احاطہ کیا۔ مخصوص استعمال کے معاملے پر منحصر ہے، ان طریقوں میں سے ہر ایک کے اپنے فوائد اور نقصانات ہیں۔ ان متنوع طریقوں سے اپنے آپ کو واقف کرانا آپ کو اپنی مخصوص ضروریات کے لیے موزوں ترین انتخاب کرنے کے قابل بنائے گا۔