VB.NET与C#的完美结合

本文探讨了如何在VB.NET中利用Microsoft.VisualBasic.IsNumeric函数验证数字,而在C#项目中引用VB.NET编译的DLL进行调用,实现两种语言的完美结合。通过示例代码展示在C#中如何便捷地调用VB.NET的数字验证功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB.NET是.NET里的精品,C#里.NET里的灵魂,结合两者将发挥无限威力,呵呵,看你如何去发挥它,写个简单的例子来说明如何结合VB.NET与C#。

VB.NET:

在VB.NET里有个Microsoft.VisualBasic.IsNumeric的函数可以验证是否是数字,而在c#中则要自己去判断,可以Try,也可以用正则表达式,不过不是耗资源就是太麻烦。

在一个项目中新建一个类库用VB.NET做为开发语言,代码如下:


Public   Class Validator
    
Public Function validate(ByVal str As StringAs Boolean
        
If (Microsoft.VisualBasic.IsNumeric(str)) Then
            
Return True
        
Else
            
Return False
        
End If

    
End Function

End Class

在C#中新建一个项目,引用上面的DLL,代码如下:

 

ValidateNumber.Validator validateObj  =   new  ValidateNumber.Validator();

if (validateObj.validate(textBox.Text))
{
DataObj.GetProductQty 
=int.Parse(textBox.Text);
}

else
{
lblMSG.Text
="请输入数字,请重试";
return;
}
很明了的例子,不用多说。
posted on Saturday, September 18, 2004 4:15 PM

 
VB中的IsNumeric实现如下:
public static bool IsNumeric(object Expression)
{
bool flag1;
IConvertible convertible1 = null;
if (Expression is IConvertible)
{
convertible1 = (IConvertible) Expression;
}
if (convertible1 == null)
{
if (Expression is char[])
{
Expression = new string((char[]) Expression);
}
else
{
return false;
}
}
TypeCode code1 = convertible1.GetTypeCode();
if ((code1 != TypeCode.String) && (code1 != TypeCode.Char))
{
return Utils.IsNumericTypeCode(code1);
}
string text1 = convertible1.ToString(null);
try
{
long num2;
if (!StringType.IsHexOrOctValue(text1, ref num2))
{
double num1;
return DoubleType.TryParse(text1, ref num1);
}
flag1 = true;
}
catch (Exception)
{
flag1 = false;
}
return flag1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值