居然还有两个星级的???????代表发言下列代码示例说明 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()); } }
isnumeric() isdate()之类的函数吗?
而且可以留着以后的项目中重复使用
比如做个CheckFormError的类
我记得在清华出的大红皮里就有。
应该是对textBox检验输入检验,有一个Char.IsNumber(),也就是说,不像在VB中是对整个字符串进行数字与否的检验,而是每次输入的单一字符进行检验。
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());
}
}
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"));
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;