using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Data;
using System.Data.OleDb;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Cryptography;
using System.Globalization;
public class Unitl
{
#region 验证是否是数字
/// <summary>
/// 验证是否是数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}
#endregion
#region 生成随机数.
static int iseed = 0;
/// <summary>
/// 生成数字和字母随机数.
/// </summary>
/// <param name="n">生成长度</param>
/// <returns></returns>
public static string RandCode(int nLeng)
{
char[] arrChar = new char[]{
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z' ,
'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z'
};
StringBuilder num = new StringBuilder();
iseed++;
iseed = iseed % 10000;
Random rnd = new Random(iseed);
for (int i = 0; i < nLeng; i++)
{
num.Append(arrChar[rnd.Next(0, arrChar.Length)].ToString());
}
return num.ToString();
}
/// <summary>
/// 生成数字和字母随机数 .
/// </summary>
/// <param name="n">生成长度</param>
/// <returns></returns>
public static string RandCode(string RCstr, int nLeng)
{
StringBuilder num = new StringBuilder();
Random rnd = new Random(DateTime.Now.Millisecond);
for (int i = 0; i < nLeng; i++)
{
num.Append(RCstr[rnd.Next(0, RCstr.Length)].ToString());
}
return num.ToString();
}
/// <summary>
/// 生成按当前日期串组成的字符串.
/// </summary>
/// <param name="fileExtName"></param>
/// <returns></returns>
public static string RandFileName(string fileExtName)
{
return string.Format("{0}{1}{2}", DateTime.Now.ToString("yyyyMMddhhmmss"), RandCode(8), fileExtName);
}
#endregion
#region md5加密
/// <summary>
/// 对字符串进行MD5加密.
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Md5(string str)
{
return Md5(str, "utf-8");
}
/// <summary>
/// MD5加密.
/// </summary>
/// <param name="str"></param>
/// <param name="charset"></param>
/// <returns></returns>
public static string Md5(string str, string charset)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(Encoding.GetEncoding(charset).GetBytes(str));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}
#endregion
#region [排序算法]
/// <summary>
/// 冒泡排序法.
/// </summary>
/// <param name="r"></param>
/// <returns></returns>
public static string[] BubbleSort(string[] r)
{
int i, j; //交换标志
string temp;
bool exchange;
for (i = 0; i < r.Length; i++)
{
exchange = false;
for (j = r.Length - 2; j >= i; j--)
{
if (System.String.CompareOrdinal(r[j + 1], r[j]) < 0) //交换条件
{
temp = r[j + 1];
r[j + 1] = r[j];
r[j] = temp;
exchange = true;
}
}
if (!exchange)
{
break;
}
}
return r;
}
#endregion
}
分享到:
相关推荐
C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...
C#工具类
整理了一些C#开发常用工具类,方便开发者在日常开发中使用。
整理了几个在DotNet2.0中C#开发常用的基础工具类,内容如下:StringUtil、ParseUtil、TypeUtil、ByteUtil、NumUtil、XmlUtil、RegexUtil、HashUtil、ColorUtil。
多年工作整理C#开发工具类,能支持日常工作需要,例子参考。包括文件处理、数据处理、图片处理、加密解密方法、验证码等等代码。都弄懂,工作轻松!
C# webservice 服务调用工具类。 此工具 对 post get 请求进行了封装,只需要传递对应的URL以及参数即可返回JSON 或者XML 的字符串。 是非常有用的调用远程接口的服务类。 webservice
.net|NPOI|Excel 导入|Excel导出
不一一介绍、里面有很多方法可供调用、几乎WEB开发常用的方法都有了、不下你都后悔
C#基类,里面包含各种辅助工具类,减少代码开发
自己开发的C#工具箱,包含各种常用仪表控件,曲线图控件,水塔,开关,按钮控件。尽情相互交流留下宝贵意见
C#公共工具类源码,在编程中都能用的到,涵盖开发中的各个方面,代码很齐全,你可以直接在你的项目引用它
该工具支持通过在软件界面输入或者粘贴JSON字符串,根据字符串生成C#编程开发使用的JSON实体类文件。
自己写的一个C#工具类,功能很简单,但是很实用,觉得有用就下吧。 主要的方法有:更简单的截取字符串方法, 格式化布尔值返回checkbox或指定的字符串, 格式化日期并以固定格式返回, 传递recordCount和pageSize...
100个C#辅助类工具类,涵盖日常所需的开发需求,快来下载吧
开发过程中常用类汇总,包括excel操作、上传下载、xml操作、缓存、序列化、条形码、日志等等
自制快速开发工具。生成页面、控制类、实体、此工具是本人为海关开发某个项目所用、内附源码,如果你的页面不一样可以修改源码、简单易用、适合开发者使用,大大提高开发效率
多种多样的工具类可以让web开发事半功倍,节省了开发时间,提高了开发的效率。。。
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...
由C#开发的简单实体类生成工具,目前只支持SQLServer和Oracle数据库。