.NET开发中你可能会用到的常用方法总结(添加ing...)

本文分享了一系列.NET开发中实用的方法,包括文件操作、验证码生成、日期判断等,适用于不同项目的开发需求。

学习.NET有一些时间了,平日积累了一些自己认为比较实用的方法(有自己写的,也有学习别人的),可能会在不同的项目开发中使用到。分享给大家,有什么好的方法还会不断添加,个别方法你可能认为很菜,仅提供给新手。当然,实现功能的方法并不唯一,这里仅供大家参考。

将文件转换成字符串,常用于读取网站模板

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///将文件转换成字符串,常用于读取网站模板
///</summary>
///<paramname="path"></param>
///<paramname="isSpace"></param>
///<returns></returns>
publicstaticstringGetTempleContent(stringpath)
{
stringresult=string.Empty;
stringsFileName=HttpContext.Current.Server.MapPath(path);
if(File.Exists(sFileName))
{
try
{
using(StreamReadersr=newStreamReader(sFileName))
{
result
=sr.ReadToEnd();
}
}
catch
{
result
="读取模板文件("+path+")出错";
}
}
else
{
result
="找不到模板文件:"+path;
}
returnresult;
}

读取,添加,修改xml文件

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///读取,添加,修改xml文件
///</summary>
///<paramname="Xmlpath">Xml路径</param>
///<paramname="Node">新的子节点名称</param>
///<paramname="Value">新节点对应的值</param>
///<paramname="flag">1:读取,否则为修改或者添加</param>
///<returns>1:修改添加成功,为空字符串表示修改添加成功,否则是读取成功</returns>
publicstaticstringgetXML(stringXmlpath,stringNode,stringValue,intflag)
{
try
{
stringfilepath=HttpContext.Current.Server.MapPath(Xmlpath);
XmlDocumentxmlDoc
=newXmlDocument();
if(!File.Exists(filepath))
{
XmlDeclarationxn
=xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
XmlElementroot
=xmlDoc.CreateElement("rss");
XmlElementroot1
=xmlDoc.CreateElement("item");

root.AppendChild(root1);
xmlDoc.AppendChild(xn);
xmlDoc.AppendChild(root);
xmlDoc.Save(filepath);
//本地路径名字
}
xmlDoc.Load(filepath);
//你的xml文件
stringReStr=string.Empty;
XmlElementxmlObj
=xmlDoc.DocumentElement;

XmlNodeListxmlList
=xmlDoc.SelectSingleNode(xmlObj.Name.ToString()).ChildNodes;

foreach(XmlNodexmlNoinxmlList)
{
if(xmlNo.NodeType!=XmlNodeType.Comment)//判断是不是注释类型
{
XmlElementxe
=(XmlElement)xmlNo;
{
if(xe.Name==xmlObj.FirstChild.Name)
{
XmlNodeListxmlNList
=xmlObj.FirstChild.ChildNodes;

foreach(XmlNodexmldinxmlNList)
{
XmlElementxe1
=(XmlElement)xmld;
{
if(xe1.Name==Node)
{
if(flag==1)//读取值
{
if(xmld.InnerText!=null&&xmld.InnerText!="")
{
ReStr
=xmld.InnerText;
}
}
else//修改值
{
xmld.InnerText
=Value;//给节点赋值
xmlDoc.Save(filepath);
ReStr
=Value.Trim();
}
}
}
}
if(ReStr==string.Empty)//添加节点
{
XmlNodenewNode;
newNode
=xmlDoc.CreateNode("element",Node,Value);//创建节点
newNode.InnerText=Value;//给节点赋值
xe.AppendChild(newNode);//把节点添加到doc
xmlDoc.Save(filepath);
ReStr
=Value.Trim();
}
}
}
}
}
returnReStr;
}
catch
{
returnstring.Empty;
}
}

取得文件扩展名

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///取得文件扩展名
///</summary>
///<paramname="filename">文件名</param>
///<returns>扩展名</returns>
publicstaticstringGetFileEXT(stringfilename)
{
if(string.IsNullOrEmpty(filename))
{
return"";
}
if(filename.IndexOf(@".")==-1)
{
return"";
}
intpos=-1;
if(!(filename.IndexOf(@"\")==-1))
{
pos
=filename.LastIndexOf(@"\");
}
string[]s=filename.Substring(pos+1).Split('.');
returns[1];
}

替换文本中的空格和换行
ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///替换文本中的空格和换行
///</summary>
publicstaticstringReplaceSpace(stringstr)
{
strings=str;
s
=s.Replace("","&nbsp;");
s
=s.Replace("\n","<BR/>");
returns;
}

验证码实现方法

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->protectedvoidPage_Load(objectsender,EventArgse)
{
stringcheckCode=CreateRandomCode(4);
Session[
"CheckCode"]=checkCode;
CreateImage(checkCode);
}
privatestringCreateRandomCode(intcodeCount)
{

//函数功能:产生数字和字符混合的随机字符串
stringallChar="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[]allCharArray=allChar.ToCharArray();
stringrandomCode="";
Randomrand
=newRandom();
for(inti=0;i<codeCount;i++)
{
intr=rand.Next(61);
randomCode
+=allCharArray.GetValue(r);
}
returnrandomCode;

}


privatevoidCreateImage(stringcheckCode)
{

//生成图象验证码函数
intiwidth=(int)(checkCode.Length*11.5);
System.Drawing.Bitmapimage
=newSystem.Drawing.Bitmap(iwidth,20);
Graphicsg
=Graphics.FromImage(image);
Fontf
=newSystem.Drawing.Font("Arial",10,System.Drawing.FontStyle.Bold);
Brushb
=newSystem.Drawing.SolidBrush(Color.Azure);//字母白色
//g.FillRectangle(newSystem.Drawing.SolidBrush(Color.Blue),0,0,image.Width,image.Height);
g.Clear(Color.Brown);//背景灰色
g.DrawString(checkCode,f,b,3,3);

PenblackPen
=newPen(Color.Black,0);
Randomrand
=newRandom();
System.IO.MemoryStreamms
=newSystem.IO.MemoryStream();
image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType
="image/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
image.Dispose();
}

文件创建、复制、移动、删除

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->FileStreamfs;
//创建文件
fs=File.Create(Server.MapPath("a.txt"));
fs.Close();
fs
=File.Create(Server.MapPath("b.txt"));
fs.Close();
fs
=File.Create(Server.MapPath("c.txt"));
fs.Close();
//复制文件
File.Copy(Server.MapPath("a.txt"),Server.MapPath("a\\a.txt"));
//移动文件
File.Move(Server.MapPath("b.txt"),Server.MapPath("a\\b.txt"));
File.Move(Server.MapPath(
"c.txt"),Server.MapPath("a\\c.txt"));
//删除文件
File.Delete(Server.MapPath("a.txt"));

去掉结尾,

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///去掉结尾,
///</summary>
///<paramname="input"></param>
///<returns></returns>
publicstaticstringLostDot(stringinput)
{
if(string.IsNullOrEmpty(input))
{
returnstring.Empty;
}
else
{
if(input.IndexOf(",")>-1)
{
intintLast=input.LastIndexOf(",");
if((intLast+1)==input.Length)
{
returninput.Remove(intLast);
}
else
{
returninput;
}
}
else
{
returninput;
}
}
}

生成任意位数的随机数

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///生成随机数
///</summary>
///<paramname="minValue">最小值</param>
///<paramname="maxValue">最大值</param>
///<returns></returns>
privateintgetRandom(intminValue,intmaxValue)
{
Randomri
=newRandom(unchecked((int)DateTime.Now.Ticks));
intk=ri.Next(minValue,maxValue);
returnk;
}

//想定一个三位的随机数:stringThreeRandom=this.getRandom(100,999).Tostring();
//类似的,四位随机数:stringFourRandom=this.getRandom(1000,9999).Tostring();

实现文件的上传

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicclassUpload
{
privateSystem.Web.HttpPostedFilepostedFile=null;
privatestringsavePath="";
privatestringextension="";
privateintfileLength=0;
privatestringfilename="";
///<summary>
///上传组件
///</summary>
publicSystem.Web.HttpPostedFilePostedFile
{
get
{
returnpostedFile;
}
set
{
postedFile
=value;
}
}
///<summary>
///保存路径
///</summary>
publicstringSavePath
{
get
{
if(savePath!="")returnsavePath;
return"c:\\";
}
set
{
savePath
=value;
}
}
///<summary>
///文件大小
///</summary>
publicintFileLength
{
get
{
if(fileLength!=0)returnfileLength;
return1024;
}
set
{
fileLength
=value*1024;
}
}
///<summary>
///文件护展名
///</summary>
publicstringExtension
{
get
{
if(extension!="")
returnextension;
return"txt";
}
set
{
extension
=value;
}
}
///<summary>
///文件名
///</summary>
publicstringFileName
{
get
{
returnfilename;
}
set
{
filename
=value;
}
}
publicstringPathToName(stringpath)
{
intpos=path.LastIndexOf(@"\");
returnpath.Substring(pos+1);
}
///<summary>
///上传文件
///</summary>
///<returns></returns>
publicstringUploadStart()
{
booltf=false;
stringreturnvalue="";
if(PostedFile!=null)
{
try
{
stringfileName=PathToName(PostedFile.FileName);
if(filename!="")
{
fileName
=filename;
}
string_fileName="";

string[]Exten=Extension.Split(',');
if(Exten.Length==0)
{
returnvalue
="你未设置上传文件类型,系统不允许进行下一步操作!";
}
else
{
for(inti=0;i<Exten.Length;i++)
{
if(fileName.ToLower().EndsWith(Exten[i].ToLower()))
{
if(PostedFile.ContentLength>FileLength)
{
returnvalue
="上传文件限制大小:"+FileLength/1024+"kb!";
}
stringIsFileex=SavePath+@"\"+fileName;
if(!Directory.Exists(SavePath)){Directory.CreateDirectory(SavePath);}
PostedFile.SaveAs(IsFileex);
_fileName
=fileName;
tf
=true;
returnvalue
=IsFileex;
}
}
if(tf==false)
returnvalue
="只允许上传"+Extension+"文件!";
}
}
catch(System.Exceptionexc)
{
returnvalue
=exc.Message;
}
}
else
{
returnvalue
="上文件失败!";
}
returnreturnvalue;
}
}

判断输入是否为日期类型

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///判断输入是否为日期类型
///</summary>
///<paramname="s">待检查数据</param>
///<returns></returns>
publicstaticboolIsDate(strings)
{
if(s==null)
{
returnfalse;
}
else
{
try
{
DateTimed
=DateTime.Parse(s);
returntrue;
}
catch
{
returnfalse;
}
}
}

MD5加密字符串处理

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///MD5加密字符串处理
///</summary>
///<paramname="Half">加密是16位还是32位;如果为true为16位</param>
publicstaticstringMD5(stringInput,boolHalf)
{
stringoutput=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Input,"MD5").ToLower();
if(Half)output=output.Substring(8,16);
returnoutput;
}

publicstatic
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值