با سلام.
من یه متدی دارم که یک String به عنواد پارامتر میگیره و با یه For چک میکنه گه توی اون String ، رشته یا کارکتری وجود نداشته باشه ( یعنی در واقع اون رشته فقط باید عدد باشه ). متد زیر :
public char[] Numbers = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
//متدی که چک میکنه
public bool textContainsUnacceptable(string T, char[] Nambers)
{
for (int i = 0; i < Nambers.Length; i++)
if (T.Contains(Nambers[i]))
{
return false;
}
return true;
}
//اینطوری هم فراخوانیش میکنم.
if (textContainsUnacceptable(name, Numbers))
{
throw new Exception("در فیلد" + " " + object_name + " " + "فقط عدد وارد کنید");
}
همه چیز درست پیش میره تا زمانی که یه رشته که هم عدد داره هم کارکتر رو بهش پاس میکنم. ( مثلا 12345as47sd) . و برنامه هم قبول میکنه .
چرا ؟ مگه متد Contains معنی "شامل بودن" رو نمیده ؟ خوب این هم شامل کارکتر هست و غیر قابل قبول ...!
ممنون میشم کمکم کنید.