سلام.علت قاطی کردنتون رو نمی دونم ولی متد Split رو براتون توضیح میدم.این متد یعنی از هم جدا کردن و برای تبدیل یک رشته به ارایه ای رشته به کار میره.طرز کار اون به این صورت هست که کاراکتری رو می گیره و شروع به پیمایش رشته می کنه و تا وقتی به اون کاراکتر نرسیده همه کاراکترهای رشته رو داخل خونه جاری ارایه میریزه و به محض رسیدن به اون کاراکتر اندیس ارایه رو پلاس میکنه و خونه بعدی ارایه شروع میشه به پر شدن.حالا این جدا کننده(Separator) میتونه یک کاراکتر باشه یا مجموعه ای کاراکترها.
یه مثال:
string s = "my name is sajjad";
string[] array = s.Split(' ');
در این مثال ارایه array شامل رشته هایی از متغیر s است که با space ازهم جدا شدن.یعنی:
array[0] = "my";
array[1] = "name";
.
.
همون طور که مشاهده کردید ارایه ما به این صورت به وجود اومد.حالا برای اینکه از بیش از یک کاراکتر استفاده کنید باید ارایه ای از کاراکترهای جداکننده رو تعریف کنید.به این صورت:
string s = "my name is sajjad.i am 21 old years";
char[] separator = {' ','\t','.'};
string[] array = s.Split(separator,StringSplitOption.None);
در اینجا هم مثل حالت قبل جداکننده ها شما space ,tab ,dot هستن و ارایه ما به همون شکل قبل تولید میشه....
کدهای بالا مثل کدهای زیر هستند که مشاهده می کنید که میتونید به صورت بهینه (به همون شکل بالا)کارهای این چنینی رو انجام بدید...
int i = 0;
for (int j = 0; j < s.Length; j++)
{
if (s[j] == ' ' || s[j] == '\t' || s[j] == '.')
{
i++;
continue;
}
else
array[i] += s[j].ToString();
}