يك مجموعه از اعداد كه به صورت رشته و با يك علامت مانند كاما از هم جدا شده اند را مي خواهيم در يك آرايه از نوع int ذخيره كنيم:
فرض كنيم اين رشته هم به صورت زير است:
stringInt = “1,2,3,5,6″;
حالا مي خواهيم اين اعداد را داخل يك آرايه عددي قرار بدهيم. اولين روش به صورت زير خواهد بود :
// birinci kod
string[] strArray = stringInt.Split(‘,’);
int[] intArray = new int[strArray.Length];
for (int i = 0; i < strArray.Length; i++)
{
intArray[i] = int.Parse(strArray[i]);
}
با دستور Split رشته با توجه به مقدار پارامتر كه يك كاراكتر مي باشد به زير مجموعه تبديل مي شود. بعدشم كه ساده است. (كما اينكه اوليشم ساده بود.)
اما چطور مي شه اين كد 6 و به عبارتي 4 خطي را در .NET مختصرتر نوشت. اولين حوابي كه من به اون برخورد كردم استفاده از Array.ConvertAll بود. فرمت كلي اين دستور به صورت زير است:
// ikinci kod
Array.ConvertAll(MainArray, delegate(){});
كه براي stringInt به صورت زير خواهد بود :
intArray = Array.ConvertAll(strArray, delegate(string s) { return int.Parse(s); });
مي بينيد كه با يك دستور اين مورد به راحتي حل مي شود. حال اگر بخواهيم intArray را به يك نوع hex تبديل كنيم چه كار بايد بكنيم.:
با دو روش بالا به راحتي مي شه اين مسئله را حل كرد. من با روش دوم (ikinci kod) مي نويسم :
// ucunci kod
string[] hexArray = Array.ConvertAll(intArray , delegate (int n) { return n.ToString(“X”); });
اما مي توانيد كد سوم را مختصر تر نيز بنويسد. با توجه به اينكه ويژوال بيسيك متد Hex دارد مي توانيد اين كار را به راحتي انجام دهيد:
string[] hexArray = Array.ConvertAll(intArray, Microsoft.VisualBasic.Hex);
اگر بخواهيد از اين حيله استفاده كنيد بايستي Microsoft.VisualBasic.dll را به referenceهاي پروژتان اضافه كنيد.
اگر .NET را بگرديد چيزهاي جالب ديگري نيز مي توانيد پيدا كنيد، مثلا نمايش عناصر آرايه در پنجره كنسول تنها با يك كد:
// dordonci kod
Array.ForEach(hexArray, Console.WriteLine);
متدهاي ديگري شامل UCase ,LCase ,Ltrim ,rTrim ,Trim وجود دارند كه مي توانيد براي تبديل يك آرايه يا ليست از آنها استفاده كنيد.




