PDA

View Full Version : تبدیل مقادیر textbox به آرایه



jaykob
پنج شنبه 05 اسفند 1389, 18:23 عصر
سلام دوستان


من یک TextBox دارم که Multiline هست و می خوام مقدار هر خط آن در اندیس های یک آرایه قرار بگیرند . به طور مثال خط 1 از تکست باکس در اندیس 0 از آرایه و خط 2 از تکست باکس در اندیس 1 از آرایه و به همین شکل تا به آخر ...


ممنون می شم راهنمایی بفرماید

با تشکر

mehdi.mousavi
پنج شنبه 05 اسفند 1389, 18:36 عصر
سلام.
می تونید بدین شکل عمل کنید:


string text = this.textBox1.Text;

using (System.IO.StringReader reader = new System.IO.StringReader(text))
{
List<string> lines = new List<string>();

string line;
while ((line = reader.ReadLine()) != null)
{
if (!string.IsNullOrEmpty(line))
lines.Add(line);
}

//string[] linesArray = lines.ToArray();
}


موفق باشید.

AmirHarirbafan
پنج شنبه 05 اسفند 1389, 21:33 عصر
دات نت این امکان رو به صورت پیشفرض در اختیار شما قرار داده، اگه ضروری نیست که خودتون کدشو بنویسید (برای مثال به عنوان تمرین کلاسی) توصیه میکنم که از امکان داخلی تکست باکس استفاده کنید
به عنوان مثال :textBox1.Lines

mehdi.mousavi
پنج شنبه 05 اسفند 1389, 23:19 عصر
دات نت این امکان رو به صورت پیشفرض در اختیار شما قرار داده، اگه ضروری نیست که خودتون کدشو بنویسید (برای مثال به عنوان تمرین کلاسی) توصیه میکنم که از امکان داخلی تکست باکس استفاده کنید به عنوان مثال :textBox1.Lines

سلام.
بدون شک استفاده از Lines بهتره. قرار نیست امکانات موجود BCL رو خودمون دوباره پیاده سازی کنیم (مگر اینکه دلیلی منطقی برای اینکار داشته باشیم).
موقعی که پاسخ این سوال رو میدادم، حواسم به این Property نبود...

ممنون و موفق باشید.

AmirHarirbafan
جمعه 06 اسفند 1389, 01:23 صبح
مثالی که شما زده بودید خیلی برام جالب بود، من تا الان هر کاری که روی رشته ها میخواستم انجام بدم به صورت معمولی داخل رشته میگشتم و انتخاب میکردم، اما دیدم که شما از StringReader استفاده کردید و خیلی برای من آموزنده بود.
ممنون

jaykob
جمعه 06 اسفند 1389, 15:54 عصر
سلام.
می تونید بدین شکل عمل کنید:


string text = this.textBox1.Text;

using (System.IO.StringReader reader = new System.IO.StringReader(text))
{
List<string> lines = new List<string>();

string line;
while ((line = reader.ReadLine()) != null)
{
if (!string.IsNullOrEmpty(line))
lines.Add(line);
}

//string[] linesArray = lines.ToArray();
}
موفق باشید.

ممنون دوست عزیز مشکلم حل شد . اگر بخوام این کار رو بر روی یک فایل TXT انجام بدم به چه شکل باید عمل کنم ؟ یعنی هر خط از محتویات اون فایل تسکت را در یک اندیس آرایه قرار بدهم و فایل تکست را هم همون جا BROWSE کرد و این خطوط خوانده بشن و در آرایه قرار داده بشه .

با تشکر از پاسختون

AmirHarirbafan
جمعه 06 اسفند 1389, 20:55 عصر
اگر بخوام این کار رو بر روی یک فایل TXT انجام بدم به چه شکل باید عمل کنم ؟




using (System.IO.StreamReader reader = new System.IO.StreamReader("c:\\TestFile.txt"))
{
List<string> lines = new List<string>();

string line;
while ((line = reader.ReadLine()) != null)
{
if (!string.IsNullOrEmpty(line))
lines.Add(line);
}
}

Salar Ashgi
جمعه 06 اسفند 1389, 23:05 عصر
مطمئنا روش ها زیاده ، این هم یکی از آن روشها :


string[] data = textBox1.Text.Split('\n');


موفق باشید ./