PDA

View Full Version : سوال: رشته ها



jaykob
دوشنبه 19 بهمن 1388, 18:59 عصر
سلام من تازه C#‎.net 2005 رو شروع کردم داشتم برنامه ای می نوشتم که توی پارامتر آخری نمی تونم کاری کنم برنامه اونجایی مشکل داره که باید نیمه دوم رشته را نمایش بدهد برنامه روی اون قسمت گیر می کنه :.



private void btnrun_Click(object sender, EventArgs e)
{
string strdata;
int tool,half1,half2;
strdata = txtstring.Text;
//محاسبه طول یک رشته
MessageBox.Show("Length Is : " + strdata.Length,
"Length");
tool = strdata.Length;
//محاسبه طول یک رشته با متغییر
MessageBox.Show("Length With Variable Is : " + tool,
"Length Variable");
half1=tool/2;
//نمایش نیمه اول رشته
MessageBox.Show("Half One String : " + strdata.Substring(0, half1),
"Half One");
half2 = half1 + half1;
//نمایش نیمه دوم رشته
MessageBox.Show("Half Tow Is : " + strdata.Substring(half1,half2),
"Half Two");
}

ali.aghdam
دوشنبه 19 بهمن 1388, 19:25 عصر
خوب شما وقتی می خواهید قسمت دوم را نمایش دهید از رشته خود از ایندکس half1 شروع می کنید ولی به تعداد half2 جدا می کنید که این مشکل شماست
کد شما

MessageBox.Show("Half Tow Is : " + strdata.Substring(half1,half2),"Half Two");

اما کد صحیح


MessageBox.Show("Half Tow Is : " + strdata.Substring(half1, half1),"Half Two");

حالا این تنها مشکل کد شما نیست مشکل تحلیلی هم دارد اون هم وقتی Length شما زوج است مشکلی ندارد ولی وقتی فرد می شود اون وسط یه کاراکتر رو نمایش نمدهد من برا حلش اون کاراکتر رو تو قسمت دوم نمایش می دهم


private static void halfString()
{
string strdata;
int tool, half1, half2;
strdata = txtstring.Text;
//محاسبه طول یک رشته
if ((strdata.Length %2 )==0)
{
MessageBox.Show("Length Is : " + strdata.Length, "Length");
tool = strdata.Length;
//محاسبه طول یک رشته با متغییر
MessageBox.Show("Length With Variable Is : " + tool,"Length Variable");
half1 = tool / 2;
//نمایش نیمه اول رشته
MessageBox.Show("Half One String : " + strdata.Substring(0, half1),"Half One");
half2 = half1 + half1;
//نمایش نیمه دوم رشته
MessageBox.Show("Half Tow Is : " + strdata.Substring(half1, half1),"Half Two");
}
else
{
MessageBox.Show("Length Is : " + strdata.Length, "Length");
tool = strdata.Length;
//محاسبه طول یک رشته با متغییر
MessageBox.Show("Length With Variable Is : " + tool, "Length Variable");

half1 = tool / 2;
//نمایش نیمه اول رشته
MessageBox.Show("Half One String : " + strdata.Substring(0, half1), "Half One");
half2 = half1 + half1;
//نمایش نیمه دوم رشته
MessageBox.Show("Half Tow Is : " + strdata.Substring(half1-1, half1+1), "Half Two");

}