PDA

View Full Version : سوال: مشکل در آرایه؟



پیام حیاتی
جمعه 26 تیر 1394, 00:04 صبح
سلام این کدهای من هست :

string[] bad_word = { "bogh1,bogh2" };
for (int i = 0; i<bad_word.Length; i++)
{
if (i==bad_word[])
{
Response.Write("No");
}
else
{
TextBox2.Text = TextBox2.Text+"\n"+TextBox1.Text;
TextBox1.Text = "";
}
}

خطای Syntax دارم در قسمت شرط :

133329

aliagamon
جمعه 26 تیر 1394, 00:42 صبح
این کاری که میکنین اصولا اشتباهه میشه بدونم جه کاری رو دقیقا میخواین انجام بدین؟
شرطو که اینطوری بنویسین درست میشه اما کارتون اصولا استباهه

i.ToString()==bad_word[i]

pbm_soy
جمعه 26 تیر 1394, 02:51 صبح
با این الگوریتم میخواهید چیکار کنید؟ هدفتون چیست؟!
توی آرایه دنبال چی میگردید؟ و چی میخواهید پیدا کنید؟!

پیام حیاتی
جمعه 26 تیر 1394, 05:04 صبح
یک برنامه چت ساده :
133337

قبل از ارسال می خوام بررسی کنم کلمات بد ارسال نشوند ، کلمات بد رو در یک آرایه قرار دادم زمان کلیک با حلقه در آرایه جستجو میکنه اگر کلمه بدی وجود نداشت جمله رو انتقال بده به TextBox بالا اگر وجود داشت در label چاپ کند عبارت غیر مجاز.
الآن خطایی نداره این کد اما شرط بررسی نمیشه :



String[] bad_word=new String[2];
bad_word[0]="bad1";
bad_word[1]="bad2";


for (int i = 0; i<bad_word.Length; i++)
{
if (i.ToString()==bad_word[i])
{
Label1.Text = "Bad Word";
}
else
{
TextBox2.Text = TextBox2.Text+"\n"+TextBox1.Text;
TextBox1.Text = "";
}
}



عبارت های داخل آرایه هم ارسال می شوند.

aliagamon
جمعه 26 تیر 1394, 05:52 صبح
String[] bad_word = new String[2];
bad_word[0] = "bad1";
bad_word[1] = "bad2";


for (int i = 0; i < bad_word.Length; i++)
{
if (TextBox1.Text.Contains(bad_word[i]))
{
Label1.Text = "Bad Word";
}
else
{
TextBox2.Text = TextBox2.Text + "\n" + TextBox1.Text;
TextBox1.Clear();
}

}

پیام حیاتی
جمعه 26 تیر 1394, 13:58 عصر
تشکر ، من کاملترش کردم چون باز ارسال می شد.

String[] bad_word = new String[2];
bad_word[0] = "bad1";
bad_word[1] = "bad2";




for (int i = 0; i < bad_word.Length; i++)
{
if (TextBox1.Text.Contains(bad_word[i]))
{
Label1.Text = "Bad Word";
TextBox1.Text = "";
TextBox2.Text = "";
}
else
{
TextBox2.Text = TextBox2.Text + "\n" + TextBox1.Text;
TextBox1.Text="";
}


}

پیام حیاتی
جمعه 26 تیر 1394, 19:04 عصر
مشکل جدید این هست که فقط مقدار اندیس اول آرایه چک می شود ، bad1 را نمی توان ارسال کرد اما bad2 و bad3 و... رو که اضافه کردم مورد بررسی قرار نمی گیرن و ارسال می شوند?!

پیام حیاتی
جمعه 26 تیر 1394, 23:03 عصر
اساتید؟!:اشتباه:

pbm_soy
شنبه 27 تیر 1394, 03:33 صبح
شما در این کد در هر دو بخش if و else مقدار textbox1 را خالی کردید و از طرفی شرط شما براساس مقدار textbox1 است
مسلما با اولین بار اجرای حلقه مقدار textbox1 خالی میشود و دفعات بعد هیچ وقت شرط برقرار نخواهد شد

کد را trace میکردید و در هر مرحله مقادیرتون را چک میکردید

پیام حیاتی
شنبه 27 تیر 1394, 12:53 عصر
با برداشتن دستورات خالی کردن textbox ها مشکل حل نمیشه ، دفعات بعد با هر بار کلیک بر روی دکمه باید شرط بررسی بشه.
به این روش جواب گرفتم :

if (TextBox1.Text=="bad1" || TextBox1.Text=="bad2"...)

دور از آرایه و حلقه.