.NET开发中你可能会用到的常用方法总结一

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

代码
///   <summary>
    
///  将文件转换成字符串,常用于读取网站模板
    
///   </summary>
    
///   <param name="path"></param>
    
///   <param name="isSpace"></param>
    
///   <returns></returns>
     public   static   string  GetTempleContent( string  path)
    {
        
string  result  =   string .Empty;
        
string  sFileName  =  HttpContext.Current.Server.MapPath(path);
        
if  (File.Exists(sFileName))
        {
            
try
            {
                
using  (StreamReader sr  =   new  StreamReader(sFileName))
                {
                    result 
=  sr.ReadToEnd();
                }
            }
            
catch
            {
                result 
=   " 读取模板文件( "   +  path  +   " )出错 " ;
            }
        }
        
else
        {
            result 
=   " 找不到模板文件: "   +  path;
        }
        
return  result;
    }

读取,添加,修改xml文件

代码
///   <summary>
    
///  读取,添加,修改xml文件
    
///   </summary>
    
///   <param name="Xmlpath"> Xml路径 </param>
    
///   <param name="Node"> 新的子节点名称 </param>
    
///   <param name="Value"> 新节点对应的值 </param>
    
///   <param name="flag"> 1:读取,否则为 修改或者添加 </param>
    
///   <returns> 1:修改添加成功,为空字符串表示修改添加成功,否则是读取成功 </returns>
     public   static   string  getXML( string  Xmlpath,  string  Node,  string  Value,  int  flag)
    {
        
try
        {
            
string  filepath  =  HttpContext.Current.Server.MapPath(Xmlpath);
            XmlDocument xmlDoc 
=   new  XmlDocument();
            
if  ( ! File.Exists(filepath))
            {
                XmlDeclaration xn 
=  xmlDoc.CreateXmlDeclaration( " 1.0 " " utf-8 " null );
                XmlElement root 
=  xmlDoc.CreateElement( " rss " );
                XmlElement root1 
=  xmlDoc.CreateElement( " item " );

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

            XmlNodeList xmlList 
=  xmlDoc.SelectSingleNode(xmlObj.Name.ToString()).ChildNodes;

            
foreach  (XmlNode xmlNo  in  xmlList)
            {
                
if  (xmlNo.NodeType  !=  XmlNodeType.Comment) // 判断是不是注释类型
                {
                    XmlElement xe 
=  (XmlElement)xmlNo;
                    {
                        
if  (xe.Name  ==  xmlObj.FirstChild.Name)
                        {
                            XmlNodeList xmlNList 
=  xmlObj.FirstChild.ChildNodes;

                            
foreach  (XmlNode xmld  in  xmlNList)
                            {
                                XmlElement xe1 
=  (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) //  添加节点
                            {
                                XmlNode newNode;
                                newNode 
=  xmlDoc.CreateNode( " element " , Node, Value); // 创建节点
                                newNode.InnerText  =  Value; // 给节点赋值
                                xe.AppendChild(newNode); // 把节点添加到doc
                                xmlDoc.Save(filepath);
                                ReStr 
=  Value.Trim();
                            }
                        }
                    }
                }
            }
            
return  ReStr;
        }
        
catch
        {
            
return   string .Empty;
        }
    }

取得文件扩展名

代码
///   <summary>
    
///  取得文件扩展名
    
///   </summary>
    
///   <param name="filename"> 文件名 </param>
    
///   <returns> 扩展名 </returns>
     public   static   string  GetFileEXT( string  filename)
    {
        
if  ( string .IsNullOrEmpty(filename))
        {
            
return   "" ;
        }
        
if  (filename.IndexOf( @" . " ==   - 1 )
        {
            
return   "" ;
        }
        
int  pos  =   - 1 ;
        
if  ( ! (filename.IndexOf( @" \ " ==   - 1 ))
        {
            pos 
=  filename.LastIndexOf( @" \ " );
        }
        
string [] s  =  filename.Substring(pos  +   1 ).Split( ' . ' );
        
return  s[ 1 ];
    }

替换文本中的空格和换行

代码
///   <summary>
    
///  替换文本中的空格和换行
    
///   </summary>
     public   static   string  ReplaceSpace( string  str)
    {
        
string  s  =  str;
        s 
=  s.Replace( "   " " &nbsp; " );
        s 
=  s.Replace( " \n " " <BR /> " );
        
return  s;
    }

验证码实现方法

代码
protected   void  Page_Load( object  sender, EventArgs e)
    {
         
string  checkCode  =  CreateRandomCode( 4 );
          Session[
" CheckCode " =  checkCode;
          CreateImage(checkCode);
    }
     
private   string  CreateRandomCode( int  codeCount)
    {

        
//  函数功能:产生数字和字符混合的随机字符串
         string  allChar  =   " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " ;
        
char [] allCharArray  =  allChar.ToCharArray();
        
string  randomCode  =   "" ;
        Random rand 
=   new  Random();
        
for  ( int  i  =   0 ; i  <  codeCount; i ++ )
        {
           
int  r = rand.Next( 61 );
           randomCode
+= allCharArray.GetValue(r);
        }
         
return  randomCode;
        
     }
         

    
private   void  CreateImage( string  checkCode)
    {

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

        Pen blackPen 
=   new  Pen(Color.Black,  0 );
        Random rand 
=   new  Random();
        System.IO.MemoryStream ms 
=   new  System.IO.MemoryStream();
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        Response.ClearContent();
        Response.ContentType 
=   " image/Jpeg " ;
        Response.BinaryWrite(ms.ToArray());
        g.Dispose();
        image.Dispose();
    }

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

代码
FileStream fs;
 
// 创建文件
 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 " ));

生成任意位数的随机数

代码
///   <summary>
    
///  生成随机数
    
///   </summary>
    
///   <param name="minValue"> 最小值 </param>
    
///   <param name="maxValue"> 最大值 </param>
    
///   <returns></returns>
     private   int  getRandom( int  minValue,  int  maxValue)
    {
        Random ri 
=   new  Random( unchecked (( int )DateTime.Now.Ticks));
        
int  k  =  ri.Next(minValue, maxValue);
        
return  k;
    }

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

实现文件的上传

代码
public   class  Upload
    {
        
private  System.Web.HttpPostedFile postedFile  =   null ;
        
private   string  savePath  =   "" ;
        
private   string  extension  =   "" ;
        
private   int  fileLength  =   0 ;
        
private   string  filename  =   "" ;
        
///   <summary>
        
///  上传组件
        
///   </summary>
         public  System.Web.HttpPostedFile PostedFile
        {
            
get
            {
                
return  postedFile;
            }
            
set
            {
                postedFile 
=  value;
            }
        }
        
///   <summary>
        
///  保存路径
        
///   </summary>
         public   string  SavePath
        {
            
get
            {
                
if  (savePath  !=   "" return  savePath;
                
return   " c:\\ " ;
            }
            
set
            {
                savePath 
=  value;
            }
        }
        
///   <summary>
        
///  文件大小
        
///   </summary>
         public   int  FileLength
        {
            
get
            {
                
if  (fileLength  !=   0 return  fileLength;
                
return   1024 ;
            }
            
set
            {
                fileLength 
=  value  *   1024 ;
            }
        }
        
///   <summary>
        
///  文件护展名
        
///   </summary>
         public   string  Extension
        {
            
get
            {
                
if  (extension  !=   "" )
                    
return  extension;
                
return   " txt " ;
            }
            
set
            {
                extension 
=  value;
            }
        }
        
///   <summary>
        
///  文件名
        
///   </summary>
         public   string  FileName
        {
            
get
            {
                
return  filename;
            }
            
set
            {
                filename 
=  value;
            }
        }
        
public   string  PathToName( string  path)
        {
            
int  pos  =  path.LastIndexOf( @" \ " );
            
return  path.Substring(pos  +   1 );
        }
        
///   <summary>
        
///  上传文件
        
///   </summary>
        
///   <returns></returns>
         public   string  UploadStart()
        {
            
bool  tf  =   false ;
            
string  returnvalue  =   "" ;
            
if  (PostedFile  !=   null )
            {
                
try
                {
                    
string  fileName  =  PathToName(PostedFile.FileName);
                    
if  (filename  !=   "" )
                    {
                        fileName 
=  filename;
                    }
                    
string  _fileName  =   "" ;

                    
string [] Exten  =  Extension.Split( ' , ' );
                    
if  (Exten.Length  ==   0 )
                    {
                        returnvalue 
=   " 你未设置上传文件类型,系统不允许进行下一步操作! " ;
                    }
                    
else
                    {
                        
for  ( int  i  =   0 ; i  <  Exten.Length; i ++ )
                        {
                            
if  (fileName.ToLower().EndsWith(Exten[i].ToLower()))
                            {
                                
if  (PostedFile.ContentLength  >  FileLength)
                                {
                                    returnvalue 
=   " 上传文件限制大小: "   +  FileLength  /   1024   +   " kb! " ;
                                }
                                
string  IsFileex  =  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.Exception exc)
                {
                    returnvalue 
=  exc.Message;
                }
            }
            
else
            {
                returnvalue 
=   " 上文件失败! " ;
            }
            
return  returnvalue;
        }
    }

判断输入是否为日期类型

代码
///   <summary>
        
///  判断输入是否为日期类型
        
///   </summary>
        
///   <param name="s"> 待检查数据 </param>
        
///   <returns></returns>
         public   static   bool  IsDate( string  s)
        {
            
if  (s  ==   null )
            {
                
return   false ;
            }
            
else
            {
                
try
                {
                    DateTime d 
=  DateTime.Parse(s);
                    
return   true ;
                }
                
catch
                {
                    
return   false ;
                }
            }
        }

MD5加密字符串处理

代码
///   <summary>
        
///  MD5加密字符串处理
        
///   </summary>
        
///   <param name="Half"> 加密是16位还是32位;如果为true为16位 </param>
         public   static   string  MD5( string  Input,  bool  Half)
        {
            
string  output  =  System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Input,  " MD5 " ).ToLower();
            
if  (Half) output  =  output.Substring( 8 16 );
            
return  output;
        }

        
public   static   string  MD5( string  Input)
        {
            
return  MD5(Input,  true );
        }

过滤非法字符,防止注入式攻击等

代码
///   <summary>
        
///  过滤字符
        
///   </summary>
         public   static   string  Filter( string  sInput)
        {
            
if  (sInput  ==   null   ||  sInput.Trim()  ==   string .Empty)
                
return   null ;
            
string  sInput1  =  sInput.ToLower();
            
string  output  =  sInput;
            
string  pattern  =   @" *|and|exec|insert|select|delete|update|count|master|truncate|declare|char(|mid(|chr(|' " ;
            
if  (Regex.Match(sInput1, Regex.Escape(pattern), RegexOptions.Compiled  |  RegexOptions.IgnoreCase).Success)
            {
                
throw   new  Exception( " 字符串中含有非法字符! " );
            }
            
else
            {
                output 
=  output.Replace( " ' " " '' " );
            }
            
return  output;
        }

常用的加密解密(DES,RSA)

代码
using  System.Security.Cryptography;
using  System.Text;

    
///   <summary>
    
///  DES加密
    
///   </summary>
    
///   <param name="input"> 待加密的字符串 </param>
    
///   <param name="key"> 加密密钥 </param>
    
///   <returns></returns>
     public   static   string  Encrypt( string  EncryptString,  byte [] Key,  byte [] IV)
    {
        
// byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
         byte [] inputByteArray  =  Encoding.UTF8.GetBytes(EncryptString);
        DESCryptoServiceProvider des 
=   new  DESCryptoServiceProvider();
        MemoryStream mStream 
=   new  MemoryStream();
        CryptoStream cStream 
=   new  CryptoStream(mStream, des.CreateEncryptor(Key, IV), CryptoStreamMode.Write);
        cStream.Write(inputByteArray, 
0 , inputByteArray.Length);
        cStream.FlushFinalBlock();
        
return  Convert.ToBase64String(mStream.ToArray());
    }
    
///   <summary>
    
///  DES解密
    
///   </summary>
    
///   <param name="input"> 待解密的字符串 </param>
    
///   <param name="key"> 解密密钥,要求为8位,和加密密钥相同 </param>
    
///   <returns> 解密成功返回解密后的字符串,失败返源串 </returns>
     public   static   string  Decrypt( string  DecryptString,  byte [] Key,  byte [] IV)
    {
        
try
        {
            
// byte[] rgbKey = Encoding.UTF8.GetBytes(Key);
             byte [] inputByteArray  =  Convert.FromBase64String(DecryptString);
            DESCryptoServiceProvider des 
=   new  DESCryptoServiceProvider();

            MemoryStream mStream 
=   new  MemoryStream();
            CryptoStream cStream 
=   new  CryptoStream(mStream, des.CreateDecryptor(Key, IV), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 
0 , inputByteArray.Length);
            cStream.FlushFinalBlock();
            
return  Encoding.UTF8.GetString(mStream.ToArray());
        }
        
catch
        {
            
return   "" ;
        }
    }
}
///   <summary>
///  RSA加解密算法
///   </summary>
public   class  RSA
{
    
///   <summary>
    
///  RSA加密函数
    
///   </summary>
    
///   <param name="xmlPublicKey"> 说明KEY必须是XML的行式,返回的是字符串 </param>
    
///   <param name="EncryptString"></param>
    
///   <returns></returns>
     public   string  Encrypt( string  xmlPublicKey,  string  EncryptString)
    {
        
byte [] PlainTextBArray;
        
byte [] CypherTextBArray;
        
string  Result;
        RSACryptoServiceProvider rsa 
=   new  RSACryptoServiceProvider();
        rsa.FromXmlString(xmlPublicKey);
        PlainTextBArray 
=  ( new  UnicodeEncoding()).GetBytes(EncryptString);
        CypherTextBArray 
=  rsa.Encrypt(PlainTextBArray,  false );
        Result 
=  Convert.ToBase64String(CypherTextBArray);
        
return  Result;
    }
    
///   <summary>
    
///  RSA解密函数
    
///   </summary>
    
///   <param name="xmlPrivateKey"></param>
    
///   <param name="DecryptString"></param>
    
///   <returns></returns>
     public   string  Decrypt( string  xmlPrivateKey,  string  DecryptString)
    {
        
byte [] PlainTextBArray;
        
byte [] DypherTextBArray;
        
string  Result;
        RSACryptoServiceProvider rsa 
=   new  RSACryptoServiceProvider();
        rsa.FromXmlString(xmlPrivateKey);
        PlainTextBArray 
=  Convert.FromBase64String(DecryptString);
        DypherTextBArray 
=  rsa.Decrypt(PlainTextBArray,  false );
        Result 
=  ( new  UnicodeEncoding()).GetString(DypherTextBArray);
        
return  Result;
    }

    
///   <summary>
    
///  产生RSA的密钥
    
///   </summary>
    
///   <param name="xmlKeys"> 私钥 </param>
    
///   <param name="xmlPublicKey"> 公钥 </param>
     public   void  RSAKey( out   string  xmlKeys,  out   string  xmlPublicKey)
    {
        RSACryptoServiceProvider rsa 
=   new  RSACryptoServiceProvider();
        xmlKeys 
=  rsa.ToXmlString( true );
        xmlPublicKey 
=  rsa.ToXmlString( false );
    }

写入读取Cookie值

代码
///   <summary>
        
///  写cookie值
        
///   </summary>
        
///   <param name="strName"> 名称 </param>
        
///   <param name="strValue"> </param>
        
///   <param name="strValue"> 过期时间(分钟) </param>
         public   static   void  WriteCookie( string  strName,  string  strValue,  int  expires)
        {
            HttpCookie cookie 
=  HttpContext.Current.Request.Cookies[strName];
            
if  (cookie  ==   null )
            {
                cookie 
=   new  HttpCookie(strName);
            }
            cookie.Value 
=  strValue;
            cookie.Expires 
=  DateTime.Now.AddMinutes(expires);
            HttpContext.Current.Response.AppendCookie(cookie);
        }
        
///   <summary>
        
///  读cookie值
        
///   </summary>
        
///   <param name="strName"> 名称 </param>
        
///   <returns> cookie值 </returns>
         public   static   string  GetCookie( string  strName)
        {
            
if  (HttpContext.Current.Request.Cookies  !=   null   &&  HttpContext.Current.Request.Cookies[strName]  !=   null )
            {
                
return  HttpContext.Current.Request.Cookies[strName].Value.ToString();
            }
            
return   "" ;
        }

读取配置文件的节点内容

代码
///   <summary>
        
///  读取配置文件
        
///   </summary>
        
///   <param name="Target"></param>
        
///   <param name="ConfigPathName"></param>
        
///   <returns></returns>
         static   internal   string  GetConfigValue( string  Target,  string  XmlPath)
        {
            System.Xml.XmlDocument xdoc 
=   new  XmlDocument();
            xdoc.Load(XmlPath);
            XmlElement root 
=  xdoc.DocumentElement;
            XmlNodeList elemList 
=  root.GetElementsByTagName(Target);
            
return  elemList[ 0 ].InnerXml;
        }

取单个字符的拼音声母

代码
///   <summary>  
        
///  取单个字符的拼音声母 
        
///   </summary>  
        
///   <param name="c"> 要转换的单个汉字 </param>  
        
///   <returns> 拼音声母 </returns>  
         private   static   string  GetPYChar( string  c)
        {
            
byte [] array  =   new   byte [ 2 ];
            array 
=  System.Text.Encoding.Default.GetBytes(c);
            
int  i  =  ( short )(array[ 0 -   ' \0 ' *   256   +  (( short )(array[ 1 -   ' \0 ' ));
            
if  (i  <   0xB0A1 return   " * " ;
            
if  (i  <   0xB0C5 return   " A " ;
            
if  (i  <   0xB2C1 return   " B " ;
            
if  (i  <   0xB4EE return   " C " ;
            
if  (i  <   0xB6EA return   " D " ;
            
if  (i  <   0xB7A2 return   " E " ;
            
if  (i  <   0xB8C1 return   " F " ;
            
if  (i  <   0xB9FE return   " G " ;
            
if  (i  <   0xBBF7 return   " H " ;
            
if  (i  <   0xBFA6 return   " G " ;
            
if  (i  <   0xC0AC return   " K " ;
            
if  (i  <   0xC2E8 return   " L " ;
            
if  (i  <   0xC4C3 return   " M " ;
            
if  (i  <   0xC5B6 return   " N " ;
            
if  (i  <   0xC5BE return   " O " ;
            
if  (i  <   0xC6DA return   " P " ;
            
if  (i  <   0xC8BB return   " Q " ;
            
if  (i  <   0xC8F6 return   " R " ;
            
if  (i  <   0xCBFA return   " S " ;
            
if  (i  <   0xCDDA return   " T " ;
            
if  (i  <   0xCEF4 return   " W " ;
            
if  (i  <   0xD1B9 return   " X " ;
            
if  (i  <   0xD4D1 return   " Y " ;
            
if  (i  <   0xD7FA return   " Z " ;
            
return   " * " ;
        }

变量.ToString()

代码
// 字符型转换 转为字符串  
    12345 .ToString( " n " );         // 生成   12,345.00  
    12345 .ToString( " C " );         // 生成 ¥12,345.00  
    12345 .ToString( " e " );         // 生成 1.234500e+004  
    12345 .ToString( " f4 " );         // 生成 12345.0000  
    12345 .ToString( " x " );          // 生成 3039  (16进制)  
    12345 .ToString( " p " );          // 生成 1,234,500.00%

时间的处理

代码
DateTime dt  =  DateTime.Now;
Label1.Text 
=  dt.ToString(); // 2005-11-5 13:21:25
Label2.Text  =  dt.ToFileTime().ToString(); // 127756416859912816
Label3.Text  =  dt.ToFileTimeUtc().ToString(); // 127756704859912816
Label4.Text  =  dt.ToLocalTime().ToString(); // 2005-11-5 21:21:25
Label5.Text  =  dt.ToLongDateString().ToString(); // 2005年11月5日
Label6.Text  =  dt.ToLongTimeString().ToString(); // 13:21:25
Label7.Text  =  dt.ToOADate().ToString(); // 38661.5565508218
Label8.Text  =  dt.ToShortDateString().ToString(); // 2005-11-5
Label9.Text  =  dt.ToShortTimeString().ToString(); // 13:21
Label10.Text  =  dt.ToUniversalTime().ToString(); // 2005-11-5 5:21:25
? 2005 - 11 - 5   13 : 30 : 28.4412864
Label1.Text 
=  dt.Year.ToString(); // 2005
Label2.Text  =  dt.Date.ToString(); // 2005-11-5 0:00:00
Label3.Text  =  dt.DayOfWeek.ToString(); // Saturday
Label4.Text  =  dt.DayOfYear.ToString(); // 309
Label5.Text  =  dt.Hour.ToString(); // 13
Label6.Text  =  dt.Millisecond.ToString(); // 441
Label7.Text  =  dt.Minute.ToString(); // 30
Label8.Text  =  dt.Month.ToString(); // 11
Label9.Text  =  dt.Second.ToString(); // 28
Label10.Text  =  dt.Ticks.ToString(); // 632667942284412864
Label11.Text  =  dt.TimeOfDay.ToString(); // 13:30:28.4412864
Label1.Text  =  dt.ToString(); // 2005-11-5 13:47:04
Label2.Text  =  dt.AddYears( 1 ).ToString(); // 2006-11-5 13:47:04
Label3.Text  =  dt.AddDays( 1.1 ).ToString(); // 2005-11-6 16:11:04
Label4.Text  =  dt.AddHours( 1.1 ).ToString(); // 2005-11-5 14:53:04
Label5.Text  =  dt.AddMilliseconds( 1.1 ).ToString(); // 2005-11-5 13:47:04
Label6.Text  =  dt.AddMonths( 1 ).ToString(); // 2005-12-5 13:47:04
Label7.Text  =  dt.AddSeconds( 1.1 ).ToString(); // 2005-11-5 13:47:05
Label8.Text  =  dt.AddMinutes( 1.1 ).ToString(); // 2005-11-5 13:48:10
Label9.Text  =  dt.AddTicks( 1000 ).ToString(); // 2005-11-5 13:47:04
Label10.Text  =  dt.CompareTo(dt).ToString(); // 0
// Label11.Text = dt.Add(?).ToString(); // 问号为一个时间段
Label1.Text  =  dt.Equals( " 2005-11-6 16:11:04 " ).ToString(); // False
Label2.Text  =  dt.Equals(dt).ToString(); // True
Label3.Text  =  dt.GetHashCode().ToString(); // 1474088234
Label4.Text  =  dt.GetType().ToString(); // System.DateTime
Label5.Text  =  dt.GetTypeCode().ToString(); // DateTime

Label1.Text 
=  dt.GetDateTimeFormats( ' s ' )[ 0 ].ToString(); // 2005-11-05T14:06:25
Label2.Text  =  dt.GetDateTimeFormats( ' t ' )[ 0 ].ToString(); // 14:06
Label3.Text  =  dt.GetDateTimeFormats( ' y ' )[ 0 ].ToString(); // 2005年11月
Label4.Text  =  dt.GetDateTimeFormats( ' D ' )[ 0 ].ToString(); // 2005年11月5日
Label5.Text  =  dt.GetDateTimeFormats( ' D ' )[ 1 ].ToString(); // 2005 11 05
Label6.Text  =  dt.GetDateTimeFormats( ' D ' )[ 2 ].ToString(); // 星期六 2005 11 05
Label7.Text  =  dt.GetDateTimeFormats( ' D ' )[ 3 ].ToString(); // 星期六 2005年11月5日
Label8.Text  =  dt.GetDateTimeFormats( ' M ' )[ 0 ].ToString(); // 11月5日
Label9.Text  =  dt.GetDateTimeFormats( ' f ' )[ 0 ].ToString(); // 2005年11月5日 14:06
Label10.Text  =  dt.GetDateTimeFormats( ' g ' )[ 0 ].ToString(); // 2005-11-5 14:06
Label11.Text  =  dt.GetDateTimeFormats( ' r ' )[ 0 ].ToString(); // Sat, 05 Nov 2005 14:06:25 GMT

Label1.Text 
=?   string .Format( " {0:d} " ,dt); // 2005-11-5
Label2.Text  =?   string .Format( " {0:D} " ,dt); // 2005年11月5日
Label3.Text  =?   string .Format( " {0:f} " ,dt); // 2005年11月5日 14:23
Label4.Text  =?   string .Format( " {0:F} " ,dt); // 2005年11月5日 14:23:23
Label5.Text  =?   string .Format( " {0:g} " ,dt); // 2005-11-5 14:23
Label6.Text  =?   string .Format( " {0:G} " ,dt); // 2005-11-5 14:23:23
Label7.Text  =?   string .Format( " {0:M} " ,dt); // 11月5日
Label8.Text  =?   string .Format( " {0:R} " ,dt); // Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text  =?   string .Format( " {0:s} " ,dt); // 2005-11-05T14:23:23
Label10.Text  =   string .Format( " {0:t} " ,dt); // 14:23
Label11.Text  =   string .Format( " {0:T} " ,dt); // 14:23:23
Label12.Text  =   string .Format( " {0:u} " ,dt); // 2005-11-05 14:23:23Z
Label13.Text  =   string .Format( " {0:U} " ,dt); // 2005年11月5日 6:23:23
Label14.Text  =   string .Format( " {0:Y} " ,dt); // 2005年11月
Label15.Text  =   string .Format( " {0} " ,dt); // 2005-11-5 14:23:23?
Label16.Text  =   string .Format( " {0:yyyyMMddHHmmssffff} " ,dt);  // yyyymm等可以设置,比如Label16.Text = string.Format("{0:yyyyMMdd}",dt);

获得ip和mac地址

代码
using  System.Runtime.InteropServices;

[DllImport(
" Iphlpapi.dll " )]
    
private   static   extern   int  SendARP(Int32 dest, Int32 host,  ref  Int64 mac,  ref  Int32 length);
    [DllImport(
" Ws2_32.dll " )]
    
private   static   extern  Int32 inet_addr( string  ip);
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
        
//  在此处放置用户代码以初始化页面
         try
        {
            
string  userip  =  Request.UserHostAddress;
            
string  strClientIP  =  Request.UserHostAddress.ToString().Trim();
            Int32 ldest 
=  inet_addr(strClientIP);  // 目的地的ip 
            Int32 lhost  =  inet_addr( "" );    // 本地服务器的ip 
            Int64 macinfo  =   new  Int64();
            Int32 len 
=   6 ;
            
int  res  =  SendARP(ldest,  0 ref  macinfo,  ref  len);
            
string  mac_src  =  macinfo.ToString( " X " );
            
if  (mac_src  ==   " 0 " )
            {
                
if  (userip  ==   " 127.0.0.1 " )
                    Response.Write(
" 正在访问Localhost! " );
                
else
                    Response.Write(
" 欢迎来自IP为 "   +  userip  +   " 的朋友! "   +   " <br> " );
                
return ;
            }

            
while  (mac_src.Length  <   12 )
            {
                mac_src 
=  mac_src.Insert( 0 " 0 " );
            }

            
string  mac_dest  =   "" ;

            
for  ( int  i  =   0 ; i  <   11 ; i ++ )
            {
                
if  ( 0   ==  (i  %   2 ))
                {
                    
if  (i  ==   10 )
                    {
                        mac_dest 
=  mac_dest.Insert( 0 , mac_src.Substring(i,  2 ));
                    }
                    
else
                    {
                        mac_dest 
=   " - "   +  mac_dest.Insert( 0 , mac_src.Substring(i,  2 ));
                    }
                }
            }

            Response.Write(
" 欢迎来自IP为 "   +  userip  +   " <br> "   +   " ,MAC地址为 "   +  mac_dest  +   " 的朋友! "

             
+   " <br> " );
        }
        
catch  (Exception err)
        {
            Response.Write(err.Message);
        }
    }


    
private   string  GetClientIP()
    {
        
string  result  =  HttpContext.Current.Request.ServerVariables[ " HTTP_X_FORWARDED_FOR " ];
        
if  ( null   ==  result  ||  result  ==  String.Empty)
        {
            result 
=  HttpContext.Current.Request.ServerVariables[ " REMOTE_ADDR " ];
        } 
if  ( null   ==  result  ||  result  ==  String.Empty)
        {
            result 
=  HttpContext.Current.Request.UserHostAddress;
        }
        
return  result;
    }

调用Win32 Api函数,非托管DLL

代码
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Runtime.InteropServices;
namespace  NetMeeting.API
{
  
public   class  Win32
  {
    [DllImport(
" user32.dll " , EntryPoint  =   " MessageBox " , ExactSpelling  =   false )]
    
public   static   extern   int  MessageBox( int  hWnd,  string  text,  string  caption,  uint  type);
  }
}
// 客户调用:

using  System;
using  NetMeeting.API;
class  test
{
  
public   static   void  Main( string [] agrs)
  {
      Win32.MessageBox(
0 , " hello ,this is a c# invoke win32 api " , " test " , 2 );
  }
}

生成高质量缩略图

代码
// 方法1
public   static  Bitmap CreateThumbnail(Bitmap source,  int  thumbWi,  int  thumbHi,  bool  maintainAspect)
        {
            
//  return the source image if it's smaller than the designated thumbnail
             if  (source.Width  <  thumbWi  &&  source.Height  <  thumbHi)  return  source;

            System.Drawing.Bitmap ret 
=   null ;
            
try
            {
                
int  wi, hi;

                wi 
=  thumbWi;
                hi 
=  thumbHi;

                
if  (maintainAspect)
                {
                    
//  maintain the aspect ratio despite the thumbnail size parameters
                     if  (source.Width  >  source.Height)
                    {
                        wi 
=  thumbWi;
                        hi 
=  ( int )(source.Height  *  (( decimal )thumbWi  /  source.Width));
                    }
                    
else
                    {
                        hi 
=  thumbHi;
                        wi 
=  ( int )(source.Width  *  (( decimal )thumbHi  /  source.Height));
                    }
                }

                
//  original code that creates lousy thumbnails
                
//  System.Drawing.Image ret = source.GetThumbnailImage(wi,hi,null,IntPtr.Zero);
                ret  =   new  Bitmap(wi, hi);
                
using  (Graphics g  =  Graphics.FromImage(ret))
                {
                    g.InterpolationMode 
=  System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                    g.FillRectangle(Brushes.White, 
0 0 , wi, hi);
                    g.DrawImage(source, 
0 0 , wi, hi);
                }
            }
            
catch
            {
                ret 
=   null ;
            }

            
return  ret;
        }
// 调用
  using  (Graphics g  =  Graphics.FromImage(ret))
                {
                    g.InterpolationMode 
=  System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                    g.FillRectangle(Brushes.White, 
0 0 , wi, hi);
                    g.DrawImage(source, 
0 0 , wi, hi);
                }

将文件保存到数据库中

代码
// 保存文件到SQL Server数据库中
     private   void  FileToSql( string  fileName, string  tableName, string  fieldName)
    {
        SqlConnection cn
= new  SqlConnection ();
        FileInfo fi
= new  FileInfo(fileName);
        FileStream fs
= fi.OpenRead();
        
byte [] bytes = new   byte [fs.Length];
        fs.Read(bytes,
0 ,Convert.ToInt32(fs.Length));
        SqlCommand cm
= new  SqlCommand();
        cm.Connection
= cn;
        cm.CommandType
= CommandType.Text;
        
if (cn.State == 0 ) cn.Open();
        cm.CommandText
= " insert into  " + tableName + " ( " + fieldName + " ) values(@file) " ;
        SqlParameter spFile
= new  SqlParameter( " @file " ,SqlDbType.Image);
        spFile.Value
= bytes;
        cm.Parameters.Add(spFile);
        cm.ExecuteNonQuery();
    }
// 保存文件到Access数据库中
     private   void  FileToAccess( string  fileName, string  tableName, string  fieldName)
    {
        OleDbConnection cn
= new  OleDbConnection ();
        FileInfo fi
= new  FileInfo(fileName);
        FileStream fs
= fi.OpenRead();
        
byte [] bytes = new   byte [fs.Length];
        fs.Read(bytes,
0 ,Convert.ToInt32(fs.Length));
        OleDbCommand cm
= new  OleDbCommand();
        cm.Connection
= cn;
        cm.CommandType
= CommandType.Text;
        
if (cn.State == 0 ) cn.Open();
        cm.CommandText
= " insert into  " + tableName + " ( " + fieldName + " ) values(@file) " ;
        OleDbParameter spFile
= new  OleDbParameter( " @file " ,OleDbType.Binary);
        spFile.Value
= bytes;
        cm.Parameters.Add(spFile);
        cm.ExecuteNonQuery();
    }
    
// 保存客户端文件到数据库,fl_name为上传控件
     private   void  FileToDataSourse( string  mailid)
    {
        
string  ConnStr  =   "" ;
        
string  sql  =   " update t_mail set attachfilename=@attachfilename,attachfile=@attachfile where mailid= "   +  mailid;
        SqlCommand myCommand 
=   new  SqlCommand(sql,  new  SqlConnection(ConnStr));
        
string  path  =  fl_name.PostedFile.FileName;
        
string  filename  =  path.Substring(path.LastIndexOf( "" +   1 , path.Length  -  path.LastIndexOf( "" -   1 );
        myCommand.Parameters.Add(
" @attachfilename " , SqlDbType.VarChar);
        myCommand.Parameters[
" @attachfilename " ].Value  =  filename;
        myCommand.Parameters.Add(
" @attachfile " , SqlDbType.Image);
        Stream fileStream 
=  fl_name.PostedFile.InputStream;
        
int  intFileSize  =  fl_name.PostedFile.ContentLength;
        
byte [] fileContent  =   new   byte [intFileSize];
        
int  intStatus  =  fileStream.Read(fileContent,  0 , intFileSize);  // 文件读取到fileContent数组中
        myCommand.Parameters[ " @attachfile " ].Value  =  (( byte [])fileContent);
        fileStream.Close();
        myCommand.Connection.Open();
        myCommand.ExecuteNonQuery();
        myCommand.Connection.Close();
    }

将用户输入的字符串转换为可换行、替换Html编码、无危害数据库特殊字符、去掉首尾空白、的安全方便代码

代码
public   static   string  ConvertStr( string  inputString)
        {
            
string  retVal  =  inputString;
            retVal 
=  retVal.Replace( " & " " &amp; " );
            retVal 
=  retVal.Replace( " \ "" " & quot; " );
            retVal  =  retVal.Replace( " < " " &lt; " );
            retVal 
=  retVal.Replace( " > " " &gt; " );
            retVal 
=  retVal.Replace( "   " " &nbsp; " );
            retVal 
=  retVal.Replace( "    " " &nbsp;&nbsp; " );
            retVal 
=  retVal.Replace( " \t " " &nbsp;&nbsp; " );
            retVal 
=  retVal.Replace( " \r " " <br> " );
            
return  retVal;
        }

        
private   static   string  FetchURL( string  strMessage)
        {
            
string  strPattern  =   @" (?<url>(http|ftp|mms|rstp|news|https)://(?:[\w-]+\.)+[\w-]+(?:/[\w-./?%&~=]*[^.\s|,|\)|<|!])?) " ;
            
string  strReplace  =   " <a href=\ " ${url}\ "  target=_blank>${url}</a> " ;
            
string  strInput  =  strMessage;
            
string  strResult;
            strResult 
=  Regex.Replace(strInput, strPattern, strReplace);
            strPattern 
=   @" (?<!http://)(?<url>www\.(?:[\w-]+\.)+[\w-]+(?:/[\w-./?%&~=]*[^.\s|,|\)|<|!])?) " ;
            strReplace 
=   " <a href=\ " http: // ${url}\" target=_blank>${url}</a>";
            strResult  =  Regex.Replace(strResult, strPattern, strReplace);
            
return  strResult;
        } 

        
public   string  ToUrl( string  inputString)
        {
            
string  retVal  =  inputString;
            retVal 
=  ConvertStr(retVal);
            retVal 
=  FetchURL(retVal);
            
return  retVal;
        }

ASP.NET获取服务器信息方法

代码
if  ( ! IsPostBack)
            {
                Label1.Text 
=   " 服务器名称: " + Server.MachineName; // 服务器名称
                Label2.Text  =   " 服务器IP地址: "   +  Request.ServerVariables[ " LOCAL_ADDR " ]; // 服务器IP地址
                Label3.Text  =   " 服务器域名: "   +  Request.ServerVariables[ " SERVER_NAME " ]; // 服务器域名
                Label4.Text  =   " .NET解释引擎版本: "   +   " .NET CLR "   +  Environment.Version.Major  +   " . "   +  Environment.Version.Minor  +   " . "   +  Environment.Version.Build  +   " . "   +  Environment.Version.Revision; // .NET解释引擎版本
                Label5.Text  =   " 服务器操作系统版本: "   +  Environment.OSVersion.ToString(); // 服务器操作系统版本
                Label6.Text  =   " 服务器IIS版本: "   +  Request.ServerVariables[ " SERVER_SOFTWARE " ]; // 服务器IIS版本
                Label7.Text  =   " HTTP访问端口: "   +  Request.ServerVariables[ " SERVER_PORT " ]; // HTTP访问端口
                Label8.Text  =   " 虚拟目录的绝对路径: "   +  Request.ServerVariables[ " APPL_RHYSICAL_PATH " ]; // 虚拟目录的绝对路径
                Label9.Text  =   " 执行文件的绝对路径: "   +  Request.ServerVariables[ " PATH_TRANSLATED " ]; // 执行文件的绝对路径
                Label10.Text  =   " 虚拟目录Session总数: "   +  Session.Contents.Count.ToString(); // 虚拟目录Session总数
                Label11.Text  =   " 虚拟目录Application总数: "   +  Application.Contents.Count.ToString(); // 虚拟目录Application总数
                Label12.Text  =   " 域名主机: "   +  Request.ServerVariables[ " HTTP_HOST " ]; // 域名主机
                Label13.Text  =   " 服务器区域语言: "   +  Request.ServerVariables[ " HTTP_ACCEPT_LANGUAGE " ]; // 服务器区域语言
                Label14.Text  =   " 用户信息: "   +  Request.ServerVariables[ " HTTP_USER_AGENT " ];
                Label14.Text
= " CPU个数: " + Environment.GetEnvironmentVariable( " NUMBER_OF_PROCESSORS " ); // CPU个数
                Label15.Text  =   " CPU类型: "   +  Environment.GetEnvironmentVariable( " PROCESSOR_IDENTIFIER " ); // CPU类型
                Label16.Text  =   " 进程开始时间: "   +  GetPrStart(); // 进程开始时间
                Label17.Text  =   " AspNet 内存占用: "   +  GetAspNetN(); // AspNet 内存占用
                Label18.Text  =   " AspNet CPU时间: "   +  GetAspNetCpu(); // AspNet CPU时间
                Label19.Text  =   " FSO 文本文件读写: "   +  Check( " Scripting.FileSystemObject " ); // FSO 文本文件读写
                Label20.Text  =   " 应用程序占用内存 "   +  GetServerAppN(); // 应用程序占用内存
            }

ASP.NET获取客户端信息

代码
客户端IP:Page.Request.UserHostAddress
用户信息:Page.User;
服务器电脑名称:Page.Server.MachineName
当前用户电脑名称: System.Net.Dns.GetHostName()
当前电脑名: System.Environment.MachineName
当前电脑所属网域: System.Environment.UserDomainName
当前电脑用户: System.Environment.UserName

浏览器类型:Request.Browser.Browser
浏览器标识:Request.Browser.Id
浏览器版本号:Request.Browser.Version
浏览器是不是测试版本:Request.Browser.Beta
浏览器的分辨率(像素):Request[
" width " ].ToString()  +   " * "   +  Request[ " height " ].ToString(); // 1280/1024

客户端的操作系统:Request.Browser.Platform
是不是win16系统:Request.Browser.Win16
是不是win32系统:Request.Browser.Win32


// 透过代理取IP
string  GetIp()
{
// 可以透过代理服务器
string  userIP  =  Request.ServerVariables[ " HTTP_X_FORWARDED_FOR " ];
if  (userIP  ==   null   ||  userIP  ==   "" )
{
// 没有代理服务器,如果有代理服务器获取的是代理服务器的IP
userIP  =  Request.ServerVariables[ " REMOTE_ADDR " ];
}
return  userIP;
}

Http请求图片显示

代码
public  Image byteArrayToImage()    
{        
WebRequest myWebRequest 
=  WebRequest.Create( " 图片地址 " );        
using  (WebResponse myWebResponse  =  myWebRequest.GetResponse())        
{            
using  (Stream ReceiveStream  =  myWebResponse.GetResponseStream())            {                 byte [] byteArrayIn  =   new   byte [ReceiveStream.Length];                
using  (MemoryStream ms  =   new  MemoryStream(byteArrayIn))                
{       
Image.FromStream(ms);                
}            
}        
}
}


你可能感兴趣的:(.net)