PDA

View Full Version : سوال: خطای متد Contains وفتی که رشته خالی است



بیتا حکمت
یک شنبه 08 شهریور 1394, 18:38 عصر
سلام ، فرض کنید که یک رشته از نوع n دارید که مقدار پیش فرض اون null هست ، اما ممکنه در مسیراجرای دستورات مقداری هم به خودش بگیره
یعنی ما این احتمالش که هست رشته n خالی باشه ، یا اینکه خالی نباشه
حالا من میخوام بررسی کنم که رشته n شامل یک رشته دیگه هست یا خیر




if (!n.Contains(textBox1.Text))
{
n= n + textBox1.Text;
MessageBox.Show(n);

}

}



وقتی که n خالی باشه دستور بالا خطا می ده ، وقتی n خالی نباشه اجرا میشه ، من میخوام این مشکل حل بشه و برنامه به این صورت عمل کنه ، اگر رشته n شامل مقدار وارد شده در باکس نبود به n باکس اضافه بشه و در غیر این صورت هیچ اتفاقی نیفته .

ahmadreza.s
یک شنبه 08 شهریور 1394, 19:38 عصر
سلام نمیدونم سوالتون رو درست متوجه شدم یا نه !

خوب چرا نمیاین مقدارش رو اینجوری تعریف کنید !

string n="";

بیتا حکمت
یک شنبه 08 شهریور 1394, 19:49 عصر
درست متوجه شدین ، با پیشنهاد شما مشکل حل شد

elec60
یک شنبه 08 شهریور 1394, 22:45 عصر
سلام ، فرض کنید که یک رشته از نوع n دارید که مقدار پیش فرض اون null هست ، اما ممکنه در مسیراجرای دستورات مقداری هم به خودش بگیره
یعنی ما این احتمالش که هست رشته n خالی باشه ، یا اینکه خالی نباشه
حالا من میخوام بررسی کنم که رشته n شامل یک رشته دیگه هست یا خیر




if (!n.Contains(textBox1.Text))
{
n= n + textBox1.Text;
MessageBox.Show(n);

}

}



وقتی که n خالی باشه دستور بالا خطا می ده ، وقتی n خالی نباشه اجرا میشه ، من میخوام این مشکل حل بشه و برنامه به این صورت عمل کنه ، اگر رشته n شامل مقدار وارد شده در باکس نبود به n باکس اضافه بشه و در غیر این صورت هیچ اتفاقی نیفته .




وقتی n برابر null باشه خوب واضحه که متد Contains رو نداره! null اصلا یعنی هیچی!

اما وقتی n برابر "" باشه در واقع برابر یک string هست که متد Contains رو داره.