用try{
}catch
{
}
的方法已经是很方便了啊,自己封装一下,做些静态方法,更好用。

解决方案 »

  1.   

    难道没有象VB哪样的
    isnumeric() isdate()之类的函数吗?
      

  2.   

    唉,最好的方法还是写一个类,很简单的
    而且可以留着以后的项目中重复使用
    比如做个CheckFormError的类
      

  3.   

    有呀!
    我记得在清华出的大红皮里就有。
    应该是对textBox检验输入检验,有一个Char.IsNumber(),也就是说,不像在VB中是对整个字符串进行数字与否的检验,而是每次输入的单一字符进行检验。
      

  4.   

    居然还有两个星级的???????代表发言下列代码示例说明 GetType 返回当前实例的运行时类型。[C#] 
    using System;public class MyBaseClass: Object {
    }public class MyDerivedClass: MyBaseClass {
    }public class Test {   public static void Main() {
          MyBaseClass myBase = new MyBaseClass();
          MyDerivedClass myDerived = new MyDerivedClass();
          object o = myDerived;
          MyBaseClass b = myDerived;      Console.WriteLine("mybase: Type is {0}", myBase.GetType());
          Console.WriteLine("myDerived: Type is {0}", myDerived.GetType());
          Console.WriteLine("object o = myDerived: Type is {0}", o.GetType());
          Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType());
       }
    }
      

  5.   

    bool IsNumeric(string str){
    return Regex.IsMatch(str,@"^-?(0|[1-9]\d*)(\.\d+)?$");
    }
    bool IsDate(string str){
    Match m=Regex.Match(str,@"^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})( (\d{1,2}):(\d{1,2}):(\d{1,2}))?$");
    if(!m.Success)return false;

    int y=Convert.ToInt32(m.Groups[1].ToString());
    if(y<1000||y>3000)return false;

    int M=Convert.ToInt32(m.Groups[3].ToString());
    if(M<1||M>12)return false;

    int d=Convert.ToInt32(m.Groups[4].ToString());
    if(d<1||d>DateTime.DaysInMonth(y,M))return false;

    if(m.Groups[5].Success){
    if(Convert.ToInt32(m.Groups[6].ToString())>23)return false;
    if(Convert.ToInt32(m.Groups[7].ToString())>23)return false;
    if(Convert.ToInt32(m.Groups[8].ToString())>23)return false;
    }

    return true;
    }
    eg.
    Console.WriteLine(IsDate("2002-2-31"));
    Console.WriteLine(IsDate("2002-3-31 23:60:00"));
    Console.WriteLine(IsDate("2002-4-31"));

    Console.WriteLine(IsNumeric("3.14"));
    Console.WriteLine(IsNumeric("-3"));
    Console.WriteLine(IsNumeric("3a"));
      

  6.   

    if(Convert.ToInt32(m.Groups[7].ToString())>23)return false;
    if(Convert.ToInt32(m.Groups[8].ToString())>23)return false;
    =>
    if(Convert.ToInt32(m.Groups[7].ToString())>59)return false;
    if(Convert.ToInt32(m.Groups[8].ToString())>59)return false;