PDA

View Full Version : مبتدی: سوال بسیار مبتدی : نیازمند یک شرط برای رفع ارور



mehrdad1991h
شنبه 15 مرداد 1390, 18:19 عصر
سلام
اقا این کد را داریم
بعد از هر فاصله اولین حرف را بزرگ میکنه
private string GetUperCase(string s)
{
char[] ch = s.ToCharArray();
string up = ch[0].ToString().ToUpper();
ch[0] = up[0];
StringBuilder sb = new StringBuilder();
foreach (char c in ch)
{
sb.Append(c);
}
return sb.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
string[] strs = title.Text.Split(' ');
StringBuilder sb = new StringBuilder();
foreach (string str in strs)
{
sb.Append(GetUperCase(str));
sb.Append(' ');
}
title.Text = sb.ToString();
}

حالا اگه روی دکمه 2 بار کلیک کنیم (یعنی بیاد اول حروف را بزرگ کنه بعد یه بار دیگه کلیک کنیم)
یا ظاهرا اگه تو نوشته بعد از فاصله حرف بزرگ باشه
قاطی میکنه و برنامه کار نمیده دیگه
چه شرطی براش بزارم که درست کار کنه؟ و برنامه بدون مشکل باشه

سپاس:قلب:

morteza271
شنبه 15 مرداد 1390, 18:37 عصر
این قسمت از کد رو با شرطی که گذاشتم بذارید درست میشه:
if (str.Trim().Length > 0)
{
sb.Append(GetUperCase(str));
sb.Append(' ');
}

quantomquery
شنبه 15 مرداد 1390, 18:39 عصر
سلام
متدتو اینجوری تغییر بده درس بشه







private string GetUperCase(string s)
{
s=s.ToLower();
char[] ch = s.ToCharArray();
string up = ch[0].ToString().ToUpper();
ch[0] = up[0];
StringBuilder sb = new StringBuilder();
foreach (char c in ch)
{
sb.Append(c);
}
return sb.ToString();
}