加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

几种验证字符串是否全为数字方法的比较

发布时间:2020-12-16 23:14:10 所属栏目:大数据 来源:网络整理
导读:using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Text.RegularExpressions; namespace IsNumberTest { /// summary /// 几种验证字符串是否全为数字方法的比较 /// /summary class Program { s

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Text.RegularExpressions;

namespace IsNumberTest
{
/// <summary>
/// 几种验证字符串是否全为数字方法的比较
/// </summary>
class Program
{
static void Main(string[] args)
{
Stopwatch sw; //测试运行时间
int times = 50000; //循环次数
string testStr = "12a"; //测试用字符串

#region Regular Expression Method
sw = Stopwatch.StartNew();
Regex regIsNum = new Regex (@"^/d+$");
for (int i = 0; i < times; i++)
{
regIsNum.IsMatch(testStr);
}
sw.Stop();
Console.WriteLine("Regular Expression Method Last Time: " + sw.Elapsed.Milliseconds + " ms");
#endregion

#region VB.NET IsNumeric Method
sw = Stopwatch.StartNew();
for (int i = 0; i < times; i++)
{
Microsoft.VisualBasic.Information.IsNumeric(testStr);
}
sw.Stop();
Console.WriteLine("VB.NET IsNumeric Method Last Time: " + sw.Elapsed.Milliseconds + " ms");
#endregion

#region Customer Method
sw = Stopwatch.StartNew();
for (int i = 0; i < times; i++)
{
IsNum(testStr);
}
sw.Stop();
Console.WriteLine("Customer Method Last Time: " + sw.Elapsed.Milliseconds + " ms");
#endregion

#region Improved Customer Method
sw = Stopwatch.StartNew();
for (int i = 0; i < times; i++)
{
ImpIsNum(testStr);
}
sw.Stop();
Console.WriteLine("Improved Customer Method Last Time: " + sw.Elapsed.Milliseconds + " ms");
#endregion

#region Catch Exception Method
sw = Stopwatch.StartNew();
for (int i = 0; i < times; i++)
{
try
{
int.Parse(testStr);
}
catch
{
//非数字
}
}
sw.Stop();
Console.WriteLine("Catch Exception Method Last Time: " + sw.Elapsed.Milliseconds + " ms");
#endregion

Console.ReadLine();

}

public static bool IsNum(String srcStr)
{
for (int i = 0; i < srcStr.Length; i++)
{
if (!Char.IsNumber(srcStr,i))
return false;
}
return true;
}

public static bool ImpIsNum(String srcStr)
{
for (int i = 0; i < srcStr.Length; i++)
{
if (srcStr[i] <= '0' || srcStr[i] >= '9')
return false;
}
return true;
}

}}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读