分享实用代码段,顺便过年散分(1)
杯具了···最高只让俺发100分··过年回来继续……
引用萧伯纳一段话:“倘若你有一个苹果,我也有一个苹果,而我们彼此交换这些苹
果,那么你和我仍然是各有一个苹果。但是,倘若你有一种思想,我也有一种思想,而
我们彼此交换这些思想,那么,我们每人将有两种思想。”
合作·共享才能共赢。
欢迎大家在此分享各种代码,只要代码够精彩,另外开贴散分。
首先声明:以下代码段并非全是本人作品,部分引自网络。
先来一段,抛砖引玉!其它代码我会在回帖里面贴出来。
/// <summary> /// C#读取文件时自动判断编码函数 /// </summary> /// <param name="FILE_NAME">需要判断编码方式文件的物理路径如"C:\file\file.txt"</param> /// <returns></returns> public static System.Text.Encoding GetType(string FILE_NAME) { FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read); System.Text.Encoding r = GetType(fs); fs.Close(); return r; } public static System.Text.Encoding GetType(FileStream fs) { /*byte[] Unicode=new byte[]{0xFF,0xFE}; byte[] UnicodeBIG=new byte[]{0xFE,0xFF}; byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/ BinaryReader r = new BinaryReader(fs, System.Text.Encoding.Default); byte[] ss = r.ReadBytes(4); r.Close(); //编码类型 Coding=编码类型.ASCII; if (ss[0] <= 0xEF) { if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF) { return System.Text.Encoding.UTF8; } else if (ss[0] == 0xFE && ss[1] == 0xFF) { return System.Text.Encoding.BigEndianUnicode; } else if (ss[0] == 0xFF && ss[1] == 0xFE) { return System.Text.Encoding.Unicode; } else { return System.Text.Encoding.Default; } } else { return System.Text.Encoding.Default; } }
// 反转一个字符串public static string Reverse(string s){ char[] c = s.ToCharArray(); System.Array.Reverse(c); return new string(c);}
[解决办法]
接分,共庆新年
[解决办法]
元旦快乐
DataBBS DB = new DataBBS(); protected string city=null; protected void Page_Load(object sender, EventArgs e) { string wheres = " and fid=40", tables = "fsoo_topics"; string page = Request["page"]; if (PageValidate.IsDigit(Request, "city") != string.Empty) { wheres += " and typeid="+ Request["city"] +""; city=Request["city"]; } Page PageClass = new Page(tables, "tid,title,sortid", wheres, "tid", "1", "tid", "job.aspx?city="+ city +"&page=", 45, page, ""); PageClass.Get_Content2(newslist); pagestring.Text = PageClass.Get_Page(); } protected string Get_name(string typeid) { string Get_str = null; if (typeid != null && typeid.Length != 0 && typeid.Trim()!="") { DataTable dt = DB.GetDataTable("caozuo 1,'fsoo_topicsclass','id,name','id in (" + typeid.Trim() + ")','typeid asc'"); for (int i = 0; i < dt.Rows.Count; i++) { Get_str += dt.Rows[i][1].ToString() + ","; } } return Get_str; }
[解决办法]
新年快乐!
[解决办法]
happy new year!
[解决办法]
/// <summary> /// 将DataGirdView数据,导出EXCEL文件. /// </summary> /// <param name="dgv">DataGridView控件名称</param> /// <param name="name">导出excel文件名称</param> public static void ToExcel(DataGridView dgv, string name) { try { //总可见列数,总可见行数 int colCount = dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible); int rowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Visible); //dataGridView 没有数据提示 if (dgv.Rows.Count == 0 || rowCount == 0) { MessageBox.Show("列表中没有数据无法导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } SaveFileDialog save = new SaveFileDialog(); save.Filter = "excel files(*.xls)|*.xls"; save.Title = "请选择要导出数据的位置"; save.FileName = name + DateTime.Now.ToLongDateString(); save.InitialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop); if (save.ShowDialog() == DialogResult.OK) { XlsDocument xls = new XlsDocument();//创建空xls文档 xls.FileName = save.FileName;//保存路径,如果直接发送到客户端的话只需要名称 生成名称 Worksheet sheet = xls.Workbook.Worksheets.Add(name); //创建一个工作页为Dome //设置文档列属性 ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性 cinfo.Collapsed = true; //设置列的范围 如 0列-10列 cinfo.ColumnIndexStart = 0;//列开始 cinfo.ColumnIndexEnd = 10;//列结束 cinfo.Collapsed = true; cinfo.Width = 90 * 60;//列宽度 sheet.AddColumnInfo(cinfo); //设置文档列属性结束 //设置指定工作页跨行跨列 MergeArea ma = new MergeArea(1, 1, 1, dgv.ColumnCount);//从第1行跨到第二行,从第一列跨到第5列 sheet.AddMergeArea(ma); //设置指定工作页跨行跨列结束 //创建列样式创建列时引用 XF cellXF = xls.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.Font.Height = 24 * 12; cellXF.Font.Bold = true; cellXF.Pattern = 0;//设定单元格填充风格。如果设定为0,则是纯色填充 cellXF.PatternBackgroundColor = Colors.Black;//填充的背景底色 cellXF.PatternColor = Colors.Black;//设定填充线条的颜色 //创建列样式结束 //创建列 Cells cells = sheet.Cells; //获得指定工作页列集合 //列操作基本 Cell cell = cells.Add(1, 1, name, cellXF);//添加标题列返回一个列 参数:行 列 名称 样式对象 //设置XY居中 cell.HorizontalAlignment = HorizontalAlignments.Centered; cell.VerticalAlignment = VerticalAlignments.Centered; //设置字体 cell.Font.Bold = true;//设置粗体 cell.Font.ColorIndex = 0;//设置颜色码 cell.Font.FontFamily = FontFamilies.Roman;//设置字体 默认为宋体 //创建列结束 //生成字段名称 int k = 0; for (int i = 0; i < dgv.ColumnCount; i++) { if (dgv.Columns[i].Visible) //不导出隐藏的列 { Cell title = cells.Add(2, k + 1, dgv.Columns[i].HeaderText); title.HorizontalAlignment = HorizontalAlignments.Centered; title.VerticalAlignment = VerticalAlignments.Centered; k++; } } //填充数据 for (int i = 0; i < dgv.RowCount; i++) { k = 1; for (int j = 0; j < dgv.ColumnCount; j++) { if (dgv.Columns[j].Visible) //不导出隐藏的列 { if (dgv[j, i].ValueType == typeof(string)) { cells.Add(i + 3, k, "" + dgv[j, i].Value.ToString()); } else { string str = dgv[j, i].Value.ToString(); if (str == "True") { str = "是"; } else if(str =="False") { str = "否"; } cells.Add(i + 3, k, str); } } k++; } } xls.Save(true);//保存 MessageBox.Show("Excel文件导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ce) { MessageBox.Show(ce.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
[解决办法]
Swap<T> (ref T a,ref T b)
{
..
}
[解决办法]
#region 把指定图片转换为byte /// <summary> /// 把指定图片转换为byte /// </summary> /// <param name="path">图形路径</param> /// <returns></returns> public static byte[] GetPhoto(string path) { string str = path; byte[] photo = new byte[0]; if (File.Exists(path)) { FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read); photo = new byte[file.Length]; file.Read(photo, 0, photo.Length); file.Close(); } return photo; } #endregion
[解决办法]
新年快樂!!!
[解决办法]
百年一遇的好贴,收藏之,哈哈。
PS:最近论坛结贴率低得吓人,哥每天回数十帖子,结贴率不足2成。
[解决办法]
public static class FileInfoExtension { public static System.Text.Encoding GetEncoding(this FileInfo fi) { /*byte[] Unicode=new byte[]{0xFF,0xFE}; byte[] UnicodeBIG=new byte[]{0xFE,0xFF}; byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/ BinaryReader r = new BinaryReader(fi.OpenRead(), System.Text.Encoding.Default); byte[] ss = r.ReadBytes(4); r.Close(); //编码类型 Coding=编码类型.ASCII; if (ss[0] <= 0xEF) { if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF) { return System.Text.Encoding.UTF8; } else if (ss[0] == 0xFE && ss[1] == 0xFF) { return System.Text.Encoding.BigEndianUnicode; } else if (ss[0] == 0xFF && ss[1] == 0xFE) { return System.Text.Encoding.Unicode; } else { return System.Text.Encoding.Default; } } else { return System.Text.Encoding.Default; } } }
[解决办法]
好人!!!!!!!!!!!!!
[解决办法]
/// <summary> /// 判断集合字符串是否包含某元素 /// </summary> /// <param name="strSource">集合字符串</param> /// <param name="strSplit">分隔符号</param> /// <param name="strElement">元素字符串</param> /// <returns></returns> public static bool ContainElement(this string strSource, string strSplit, string strElement) { if (string.IsNullOrEmpty(strSource) || string.IsNullOrEmpty(strElement) || strElement.Length > strSource.Length) { return false; } return strSource.Split(new string[] { strSplit }, StringSplitOptions.RemoveEmptyEntries).Contains(strElement); }
[解决办法]
接分,庆新年
------解决方案--------------------
好贴,留名,以备后用
有没有udp穿越nat的。来个研究下,最后自己写的能用的
[解决办法]
新年快乐~
[解决办法]
接分
[解决办法]
童鞋们新年快乐~~~
[解决办法]
[解决办法]
namespace EncryptDLL
{
#region 非对称加密类
/// <summary>
/// 非对称加密类
/// </summary>
public static class AsymmetricEncrytClass
{
#region 自动生成公钥、私钥方法
/// <summary>
/// 自动生成非对称公钥、私钥
/// </summary>
/// <param name="publicKey">返回的公钥</param>
/// <param name="privateKey">返回的私钥</param>
public static void GenerateKey(out string publicKey, out string privateKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
publicKey = rsa.ToXmlString(false);
privateKey = rsa.ToXmlString(true);
}
#endregion
#region 非对称加密代码
/// <summary>
/// 非对称加密方法
/// </summary>
/// <param name="strMsg">要加密的数据</param>
/// <param name="strPublicKey">加密的公钥</param>
/// <returns>返回加密后的byte[]数据</returns>
public static byte[] AsymmetricEncryptRSAFunction(this string strMsg,string strPublicKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPublicKey);
byte[] buffers = Encoding.UTF8.GetBytes(strMsg);
byte[] encryBuffer;
try
{
encryBuffer = rsa.Encrypt(buffers, false);
}
catch
{
return null;
}
return encryBuffer;
}
#endregion
#region 非对称解密代码
/// <summary>
/// 非对称解密方法
/// </summary>
/// <param name="byteMsg">需要解密的byte[]类型数据</param>
/// <param name="strPrivateKey">解密的私钥</param>
/// <returns>解密后的数据string类型</returns>
public static string AsymmetricDecryptRSAFunction(this byte[] byteMsg,string strPrivateKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPrivateKey);
byte[] decryptBuffers;
try
{
decryptBuffers = rsa.Decrypt(byteMsg, false);
}
catch(Exception e)
{
return e.Message;
}
return Encoding.UTF8.GetString(decryptBuffers);
}
#endregion
}
#endregion
}
[解决办法]
收藏.
[解决办法]
namespace EncryptDLL{ #region 对称加密类 /// <summary> /// 对称加密解密类 /// </summary> public static class SymmetricEncryptClass { #region 对称加密代码 /// <summary> /// 对称加密方法 /// </summary> /// <param name="strMsg">要加密的数据</param> /// <param name="key">加密Key</param> /// <param name="IV">加密向量</param> /// <returns>返回加密后的数据,类型byte[]</returns> public static byte[] SymmetricEncrptFunction(this string strMsg, string key, string IV) { TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); SHA1 sha1 = new SHA1CryptoServiceProvider(); //初始密钥的设定 string strNamePlusBirthday = key + IV; string strKey = new string(strNamePlusBirthday.Reverse().ToArray()); if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length) { tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length)); } else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length) { tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' ')); } //初始向量的设定 if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length) { tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length)); } else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length) { tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' ')); } byte[] encryptBuffer = Encoding.Default.GetBytes(strMsg); MemoryStream streamMemory = new MemoryStream(); CryptoStream cryStream = null;//加密流 byte[] readBuffer;//用来接受加密数据 try { cryStream = new CryptoStream(streamMemory, new TripleDESCryptoServiceProvider().CreateEncryptor(tdes.Key, tdes.IV), CryptoStreamMode.Write); cryStream.Write(encryptBuffer, 0, encryptBuffer.Length); cryStream.FlushFinalBlock(); } catch { return null; } finally { readBuffer = streamMemory.ToArray(); cryStream.Close(); streamMemory.Close(); } return readBuffer; } #endregion #region 对称解密代码 /// <summary> /// 对称解密方法 /// </summary> /// <param name="bufMsg">需要解密的数据</param> /// <param name="key">解密Key</param> /// <param name="IV">解密向量</param> /// <returns>解密后的数据</returns> public static string SymmetricDecryptionFunction(this byte[] bufMsg, string key, string IV) { TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); SHA1 sha1 = new SHA1CryptoServiceProvider(); //初始密钥的设定 string strNamePlusBirthday = key + IV; string strKey = new string(strNamePlusBirthday.Reverse().ToArray()); if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length) { tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length)); } else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length) { tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' ')); } //初始向量的设定 if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length) { tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length)); } else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length) { tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' ')); } byte[] readBuffer = bufMsg; MemoryStream streamRead = new MemoryStream(readBuffer); CryptoStream deCryStream = null; byte[] bufferReader; try { deCryStream = new CryptoStream(streamRead, new TripleDESCryptoServiceProvider().CreateDecryptor(tdes.Key, tdes.IV), CryptoStreamMode.Read); bufferReader = new byte[readBuffer.Length]; deCryStream.Read(bufferReader, 0, bufferReader.Length); } finally { deCryStream.Close(); streamRead.Close(); } string deCryString = Encoding.Default.GetString(bufferReader); return deCryString; } #endregion } #endregion}
[解决办法]
/// <summary> /// 判断一个字符串内有多少个数字和字母 /// </summary> /// <param name="ss">要判断的字符串</param> private void ShowNumberAndCharCount(string ss) { int numCount = 0; int charCount = 0; foreach (char c in ss) { int value = (int)c; if (c >= 48 && c <= 57) { numCount += 1; } if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122)) { charCount += 1; } } MessageBox.Show("数字个数:" + numCount.ToString() + ";字母个数:" + charCount.ToString()); }
[解决办法]
自己写的一个加密的类中的两种加密的方式,非对称和对称加密,互相分享,Happy New Year
[解决办法]
这个贴要收藏,谢楼主,顺便祝各位新年快乐!!
[解决办法]
使用的Java数据库连接类
package y2ssh.zhangcuishan.dao.jdbcimpl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public abstract class BaseJdbcDAO { private String dbUser = "sa"; private String dbPwd = "pwd"; private String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; private String url = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=epai"; protected Connection conn = null; protected Statement stmt = null; protected PreparedStatement pstmt = null; protected ResultSet rs = null; private Connection getConn() { Connection conn = null; try { Class.forName(driver); conn = DriverManager .getConnection( url, dbUser, dbPwd); } catch (Exception e) { e.printStackTrace(); } return conn; } protected void openConn() { this.conn = getConn(); } protected void closeAll() { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
[解决办法]
哈哈,不错,存书签
[解决办法]
happy new year
[解决办法]
CSDN的同学们新年快乐
[解决办法]
好,
大家新年快乐,
再接再厉
[解决办法]
[解决办法]
good~~~~~
------解决方案--------------------
MessageBox.Show("新年快乐!");
[解决办法]
MessageBox.Show("新年快乐!");
[解决办法]
这些 应该都是 长年积累下来的吧 的确都是精华 啊
[解决办法]
不错,值得学习一下
[解决办法]
用了张 查到的图 可干死我的cpu了。。。
[解决办法]
[解决办法]
新年大家都快乐哈。
[解决办法]
happy new year!!!
[解决办法]
元旦快乐。
[解决办法]
元旦快乐。
[解决办法]
新年快乐,学习
[解决办法]
happy new year
[解决办法]
happy new year
[解决办法]
不错啊,正好可以学习学习啊!
[解决办法]
新年快乐!!!!!!!
[解决办法]
新年快乐,学习了
[解决办法]
新年好!!!
[解决办法]
给分 我喜欢 谢了收藏
[解决办法]
不错,很喜欢
[解决办法]
新年快乐····
[解决办法]
弱弱的问下,啥时候我的等级能变成两个三角?
元旦快乐!
[解决办法]
确实好贴
[解决办法]
元旦快乐!
[解决办法]
元旦快乐, 标记, 留用。
[解决办法]
新年快乐!!~~~~~~~~~~
学习了。。。。。
[解决办法]
在编程上,我还称不上是个菜鸟,学了三年啥都不会,代码都看不懂,真令人惭愧。
[解决办法]
学习了,新年快乐
[解决办法]
祝大家在新的一年里心想事成!
[解决办法]
分呢????
[解决办法]
MessageBox.Show("新年快乐!");
[解决办法]
//图片加载并按比例缩小到合适大小//<img src="" width="80" onload="DownImage(this,80,0,0);">function DownImageWidth(ImgD,MaxWidth,alignX,alignY){ alignX=alignX||1; alignY=alignY||1; var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0) { var rate = MaxWidth/image.width; var wid=0; var hid=0; if(rate <= 1) { wid=ImgD.width=image.width*rate; hid=ImgD.height=image.height*rate; } else { wid=ImgD.width=image.width; hid=ImgD.height=image.height; } }}//......................................................................................
[解决办法]
//该函数返回ajax需要的关键对象:xmlhttprequestfunction getTransport(){ var versions=[ function(){ return new XMLHttpRequest(); }, function(){ return new ActiveXObject('Microsoft.XMLHTTP'); } ]; var request; for(var i=0;i<versions.length;i++){ var lambda=versions[i]; try{ request=lambda(); } catch(e){} } return request;}function ajaxRequest(url,options){ var request=getTransport();//创建ajax的关键对象xmlhttprequest if(typeof(request)=='undefined'){//判断创建是否成功 throw new Error('你的浏览器不支持xmlhttprequest'); return ; } var url=url;//获取请求地址 //获取请求方式,如果为获取到,返回默认值POST var method=(options.method||'POST').toUpperCase(); if(method!='GET'&&method!='POST'){ method='POST'; } //获取参数 var parameters=options.parameters||null; //获取请求头信息 var headers=options.headers||{}; //创建处理事件函数 //加载,完成,成功,失败 var onLoadingEventHandler=options.onLoading||function(){}; var onCompleteEventHandler=options.onComplete||function(){}; var onSuccessEventHandler=options.onSuccess||function(){}; var onFailureEventHandler=options.onFailure||function(){}; //根据url和参数,把地址拼接完整,并且清空parameters对象 if(method=='GET'&¶meters!=null){ if(url.indexOf('?')>-1){ url+='&'+parameters; } else{ url+='?'+parameters; } parameters=null; } //初始化请求 request.open(method,url,true); //设置请求头 request.setRequestHeader('contentType','application/x-www-form-rulencoded'); for(var name in headers){ request.setRequestHeader(name ,headers[name]); } //设置请求状态 request.onreadystatechange=function(){ if(request.readyState==1){ onLoadingEventHandler(request.readyState);//状态值为1,说明正在加载 } if(request.readyState==4){ onCompleteEventHandler();//状态值为4,说明加载完成 if(request.status&&request.status>=200&&request.status<300){ onSuccessEventHandler(request);//返回值在200到300之间,说明加载成功 } else{ onFailureEventHandler();//否则加载失败 } } } request.send(parameters);//发送请求}
[解决办法]
she stared at me with a blank expression on her face!
[解决办法]