PDA

View Full Version : سوال: تقسیم آرایه []string به 10 آرایه مساوی دیگر



mehdi8
جمعه 21 اسفند 1394, 16:03 عصر
سلام دوستان به فرض ما در C#‎‎‎‎‎‎‎‎‎ یه آرایه از جنس string به نام myStrings داریم که 1007 عدد المنت داخلش دارد.10 تا آرایه دیگه هم به نام های strings1 تا strings10 داریم.چطور میشه المنت های آرایه اصلی رو بین اون 10 آرایه تقسیم کرد ؟؟؟؟ مثلا المنت 1 تا المنت 100 کپی بشن در آرایه strings1 و 101 تا 200 در strings2 و همینجور الی آخر. و اون 7 المنت باقیمانده هم در آرایه اخر اضافه بشن ( که در واقع تعداد المنت های آرایه strings1 تا strings9 میشن 100 تا ولی strings10 میشه 107 تا :لبخندساده: )
( توجه : نمیخوام از Linq استفاده کنم. )
--------------------------------------------------
و یه سوال دیگه در همین رابطه : چطور میشه تعداد المنت هایی که یه آرایه داشته باشه رو بینهایت کرد؟؟؟ ( چون در برنامه من تعداد ورودی ها توسط کاربر محدودیتی نداره و تمام داده ها در همون آرایه myStrings ریخته میشه و اگه داده ها زیاد باشه برنامه ارور میده :لبخند: ) ؟؟؟؟
به طور مثال در :

myStrings = new string[x] ;

بتونیم مثلا x رو 999999999999999999999999999999 بزاریم.که البته در حالت عادی ارور میده.

ممنون.

ژیار رحیمی
جمعه 21 اسفند 1394, 16:23 عصر
static IEnumerable<string> Split(string str, int chunkSize)
{
return Enumerable.Range(0, str.Length / chunkSize)
.Select(i => str.Substring(i * chunkSize, chunkSize));
}

mehdi8
جمعه 21 اسفند 1394, 16:29 عصر
static IEnumerable<string> Split(string str, int chunkSize)
{
return Enumerable.Range(0, str.Length / chunkSize)
.Select(i => str.Substring(i * chunkSize, chunkSize));
}


ببخشید چطور باید از این تابع استفاده کنم؟

ژیار رحیمی
شنبه 22 اسفند 1394, 06:22 صبح
var strArray = "abcdefghij1234567890123456789";
var splitedArray = Split(strArray, 10).ToArray();
//برای دسترسی به رشته اول
var firstString = splitedArray[0];