
C#/.NET
Baple
多年软件开发经验,擅长java、.net等Web开发和桌面开发及Android开发,熟悉Windows/Linux下的各种服务如Keepalived+Haproxy+Nginx、tomcat/weblogic/zookeeper/memcached /redis、MySql、Oracle等开发部署实施经验,常用技术框架Spring、Struts、Hibernate、MyBatis、Spring boot等,前端熟悉 JQuery、miniui、EasyUI、DataTables插件等。熟悉Git/gitlab版本管理工具使用及搭建。参与过大型互联网项目的搭建开发,目前致力于基于大数据研究与开发
展开
-
C#编码规范
1. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件最好不要超过500行的代码(不包括IDE产生的代码)。4. 一个方法的代码长度最好不要超过25行。5. 避免方法中有超过5个参数的情况。如果超过了,则应使用 struct 来传递多个参数。6. 每行代码不要超过80个字符。7. 原则上,原创 2009-06-15 11:15:00 · 733 阅读 · 0 评论 -
c# 基础知识
c#的变量和常量1.基本数据类型数据类型大小默认值int有符号32位整数0float32位浮点数,精确到小数点后7位0.0fdouble64位浮点数,精确到小数点后15~20位0.0ddecimal128位浮点数,精确到小数点后28~29位0.0mbyte无符号的8位整数0short有符号的16位整数0long有符号的64为整数0lbool布尔值,true/f原创 2009-06-09 16:13:00 · 834 阅读 · 0 评论 -
C#析构函数、Close()与Dispose()的区别
C#中析构函数,Close函数,Dispose函数的区别: C#中析构函数是有垃圾搜集器来调用的,当所引用的堆上的数据当无效时,会隐式调用。一般表现为当引用变量超出其作用域时就会调用。 Close函数和Dispose函数则是一种约定。调用原创 2011-10-08 10:07:08 · 2962 阅读 · 0 评论 -
一步一步学Linq to sql(二):DataContext与实体
DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。 DataContext提供了以下转载 2011-10-09 16:45:00 · 829 阅读 · 0 评论 -
动态调用WebService方法
好像很多人做WebService的时候都是直接添加引用的方式,然后调用服务端的方法.这样就个问题,就是每次我服务端添加了方法或者修改了方法后都要更新Web引用,这样比较麻烦.下面给一个不用添加引用的方式调用服务端的方法.只是一个简单的测试,不是很规范,用得着的人可以自己封装一下,然后直接传服务端的方法名进去,Type.GetMethod获取方法,然后method.Invoke返回结果高手些多多原创 2011-10-26 17:53:38 · 777 阅读 · 0 评论 -
C#读取文本文件和C# 写文本文件
C#读取文本文件今天一个学生问我如何从一个文本中读取内容,如下是做的是控制台中的例子,在别的地方也是这个道理。 // 读操作 public static void Read() { // 读取文件的源路径及其读取流 string strReadFilePath = @"..\.原创 2011-11-21 11:01:35 · 5898 阅读 · 2 评论 -
文件操作类StreamWriter 、StreamReader、FileStream 、File、FileInfo 、DirectoryInfo 、Directory
Directory.CreateDirectory("D:\\a\\b\\c"); //创建目录和子目录 Directory.Delete("D:\\a\\b", true); //删除b目录,同时递归删除b目录的所有子目录和文件 Directory.Move("D:\\a\\b", "D:\\原创 2011-11-03 10:54:44 · 1450 阅读 · 0 评论 -
C#编程技巧之常用文件名、路径处理方法--Path类
string filePath = @"E:\Randy0528\中文目录\JustTest.rar"; Response.Write("文件路径:"+filePath); Response.Write("更改路径字符串的扩展名。"); Response.Write(System.IO.Path.Change原创 2011-11-03 08:49:41 · 1284 阅读 · 0 评论 -
OLEDB的Excel的IMEX和HDR是什么意思
HDR=NO 即无字段HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等还有问题IMEX有三个值0,1,2,其他两个值分别表示什么 IMEX 表示是否强制转换为文本特别注意Extended Properties='Excel 8.0;HDR=yes;IMEX=1'A: HDR ( HeaDer Row )设置原创 2011-12-01 15:49:08 · 6277 阅读 · 1 评论 -
SQLBulkCopy使用
这两天在做一个可以转换数据库的小程序,用于将不同结构的两个数据库之间导数据。之前几乎从没有接触过数据库,只会一些简单的删除插入,这次面对复杂的,截然不同的表结构,一时间竟无从下手。百度谷歌都用上了,最后决定使用SQLBulkCopy类。作为新人,面对一个从没有做过的Demo总是会有种种恐惧,生怕一不小心走了歪路。虽然从学习的角度来说,设计过程中走走歪路是有好处的。但是工作耽误不得,7天的开发时原创 2011-12-05 17:05:34 · 7229 阅读 · 0 评论 -
ArcGis Server中针对不同数据库查询语句的编写
OLEDB、SqlClient 和 Oracle 提供程序全部使用不同的语法。在Arcgis Server中,由于不同的数据库,所使用的查询语句也有所不同,比如模糊查询在Access中使用的通配符和在Oracle中就有所不同。在这里仅简单的将遇到的列举如下:(有待于补充)使用模糊查询,正常情况下,我们都是用上“like”和“%”来完成的。但是当地图服务用的是access数据库时,则得不原创 2011-12-07 09:28:38 · 1606 阅读 · 0 评论 -
C#反射、动态加载类
using System;using System.Collections.Generic;using System.Text;using System.Reflection;//注意要添加这个命名控件的引用namespace AssemblyDemo{ public class Program { public static void M原创 2011-12-15 15:13:51 · 1313 阅读 · 0 评论 -
深入浅出话事件(上)
转自:51cto 作者:刘铁猛 小序 在上篇文章(《深入浅出话委托》)中,我们集中讨论了什么是委托以及委托的用法。有朋友问:什么时候用委托——说实话,使用某种编程要素是一种思想,更是一种习惯。举个极端点的例子:比如你问我“什么时候使用for循环”,我完全可以回答——根本用不着for循环,用if加goto就完全能够搞定——我们大多数人使用for循环,是因为我们认同for循环的转载 2012-01-30 16:34:23 · 1502 阅读 · 0 评论 -
C#编程中的66个好习惯
1. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 4. 一个方法的代码长度最好不要超过25行。5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 6. 每行代码不要超过80个字符。 7. 不要手工的修改机器产生的代码。原创 2012-01-29 11:13:36 · 969 阅读 · 0 评论 -
深入浅出话事件(下)
转自:51cto 作者:刘铁猛深入浅出话事件(下)二.事件的由来 在传统的面向对象的概念中是没有“事件”这个概念的。传统的面向对象概念中只有数据(Data,也称为field、域、成员变量)和方法(Method,也就是成员函数、function)。如果我没记错,那么事件这个概念最早出现在微软的COM技术中,又因为VB是基于ActiveX(COM的一种)的,所以“事件”这一概转载 2012-01-30 16:35:53 · 1062 阅读 · 0 评论 -
深入浅出话窗体(一)——窗体事件模型(上)
转自:51cto 作者:刘铁猛小序: 工作中最大的挑战并不是那些Mission Impossible,而是你需要一边保持安静、平衡的心态以专注于工作,一边对抗公司体制、社会经济和人际环境对这种心态的破坏——这是对儿永远也解不开的矛盾。 正文: 记得我在前面一篇文章里提到过:垒砖头垒多少年也成不了建筑师—转载 2012-01-30 16:31:53 · 837 阅读 · 0 评论 -
C#操作Excel知识点
C#操作Excel知识点近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下。 一、添加引用和命名空间 添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\原创 2012-01-04 16:29:30 · 1598 阅读 · 0 评论 -
DataBinder.Eval总结
一、DataBinder.Eval的基本格式在绑定数据时经常会用到这个句程序:或者 今天又学到一种,而且微软也说这种方法的效率要比以上两种高。 很有用的,这样可以在前台页面做好多事情了。 还要记住要这样用必须要在前台页面导入名称空间System.Data,否则会生成错误信息。 这种用法其实和是一个道理。Text=''这样的方法是最快的Text='原创 2012-02-07 13:06:29 · 727 阅读 · 0 评论 -
多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(下)
同系列阅读:多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上),多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(中) 前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后转载 2012-01-05 09:25:13 · 1052 阅读 · 0 评论 -
利用反射把让Model与XML互相转换的方法,很通用
让XML与实体类一一对应,这样,如果把一个实体转换成XML写入数据库,就不用一一地加节点,反过来,读出数据库的XML,也不用一一地赋值给Model。 把实体转化为XML时,可以使用反射,读出所有属性,再对属性一一给XML的对应节点赋值。反过来,把XML转化为实体时,也使用反射,对XML的固定节点下的所有节点遍历,一一与实体属性比较赋值。以下是互相转化的代码.由于Null比较特殊,所以用[转载 2012-02-16 10:59:23 · 6501 阅读 · 2 评论 -
Drag and Drop on a DataGridView
转自博客园http://www.cnblogs.com/godwar/archive/2008/01/17/1042321.html Here is a bit of sample code that allows you to drag and drop a cellvalue in a DataGridView (don’t forget to set转载 2012-02-16 14:53:24 · 1458 阅读 · 0 评论 -
C#中new和override区别
在C#中实现重写方法,可以用new和override两个关键字来实现,究竟他们之间有什么区别呢?下面,我以例子来说明他们之间的微妙区别:public class GrandClass//基类{ public GrandClass() { Console.WriteLine("In GrandClass.Const转载 2012-02-28 14:58:03 · 719 阅读 · 0 评论 -
ADOMD.NET及其相关API介绍
与ADO.NET类似,ADOMD.NET也提供了一系列API用于访问多维数据集。不过与ADO.NET不同的是ADOMD.NET是通过MDX查询来获取数据集,而通过MDX查询得到的数据集与普通数据集不同,通过MDX得到的是多维数据集,是CellSet类的一个对象,而非DataSet。 ADOMD.NET中同样有Connection、Command、等这些在ADO.NET中常见的转载 2012-03-09 13:29:02 · 2120 阅读 · 0 评论 -
Linq to SQL
--------------------------------------------------------------------引例:三、查询表达式解析:查询解析实例int[] numbers = { 5,4, 1,3, 9,8, 6,7, 2,0 };//获取数据源。 var lowNums = from nin numbers原创 2011-10-09 16:46:56 · 1143 阅读 · 0 评论 -
动态填充/修改类属性的 DisplayNameAttribute 属性
话说 PropertyDescriptor 的许多属性都是只读的。包括 DisplayName 属性,最初的时候,用Reflector 反编译然后查看里面的私有字段和属性,然后用反射机制强行设置,虽然 PropertyDescriptor 的 DisplayName 属性已经显示正确了,但 Html.LabelFor 生成的 HTML 代码还是不显示 DisplayName 的内容。。利用 R原创 2012-03-12 17:46:05 · 12382 阅读 · 3 评论 -
XmlDocument转为String
public string XMLDocumentToString (ref XmlDocument doc) { MemoryStream stream = new MemoryStream(); XmlTextWriter原创 2011-11-07 15:49:23 · 2336 阅读 · 0 评论 -
C#调用ADOX创建ACCESS数据文件后关闭连接
用ADOX创建ACCESS数据文件后,*.ldb文件出现,直到程序关闭后才消失。怎样可以使那个*.ldb文件不出来呢?(具体它出来会有什么坏处?我也没细想,反正就是不想它出现。)Interop.ADOX.dll应该是一个com组件,和.Net的不同,那个时代还没有引入垃圾回收机制,没有Dispose()……不能对ActiveConnection进行Dispose(),Catalog也是。设原创 2012-10-31 11:18:45 · 5298 阅读 · 2 评论 -
彻底解决C#实现DataTable导出EXCEL表格
网上能搜到许多DataTable导出EXCEL的文章,但实施起来,可行者不多也!本人认真调试了一番,问题得以解决,现整理与大家分享:一、实现目标: 由一个内存表DataTable,导出字段名及其内容的完整EXCEL表格二、实施步骤:1、添加引用: 这是非常生要的一步,很多人调试不成都是因为这步没做好: 需要在你的解决方案中添加COM引用,选择 "Microso原创 2012-10-31 16:55:50 · 4875 阅读 · 1 评论 -
XML与DataTable互转类
//XML转为DataTablepublic static DataTable GetDataTable(string xmlStr) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlStr);原创 2012-09-25 11:20:07 · 3241 阅读 · 0 评论 -
C#读取Excel几种方法的体会
(1) OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改这种方式将Excel作为一个数据源,直接用Sql语句获取数据了。所以读取之前要知道此次要读取的Sheet(当然也可以用序号,类似dt.Row[0][0]。这样倒是不需要知道Sheet)?if (f转载 2013-02-22 12:31:08 · 34395 阅读 · 0 评论 -
面试体会二:面向对象之多态(一、理论知识)
今天又去面试了,试题中有问到对C#中多态的理解,并写个简单的例子。以此为动力今天详细看了一下C#中的多态应该怎么去理解(2009-05-15) 多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。 多态性通过派生类覆写基类中的虚函数型方法来实现。 所有的面向对象的语言都具有多态的特性,C#有多态性,那么C++,Java转载 2013-04-09 13:21:18 · 1057 阅读 · 0 评论 -
多线程--C#利用多线程实现消费者和生产者模式
这周在学习多线程,CLR via C# 3 Edition结合网上资料,很是不亦乐乎,一个小时前在知识库又发现一些多线程的好例子,自己实现了一遍,保存下来; PS:说实话cnblogs知识库真的是不错,个人感觉就是分类稍微有点粗,不过比首页好多了,首页基本遇不到自己想要的东西和适合自己的东东,好多时候也是一些“谈谈哥”和“也谈谈哥”在扯蛋; 重在保存,只有代码,可以去原文查看详细(用多线程转载 2012-02-20 09:22:54 · 3063 阅读 · 0 评论 -
bcp将本地txt文本导入远程sqlserver中,本地未装sqlserver
上次写的bcp导入是在有sqlserver环境下进行的远程导入,由于项目需要我做了修改,因为在开发项目中,遇到对大型数据库导入导出处理,客户要求环境是web服务器、文件服务器和数据库服务器搭配,web服务器上不允许安装sqlserver,在没有bcp的环境下导入大批量的文本数据,不能直接调用cmd命令进行导入,必须引用外部bcp.exe文件来进行数据导入,引用时必须将sqlserver的bcp.e转载 2013-06-18 17:38:16 · 2190 阅读 · 0 评论 -
TcpClient 类
为 TCP 网络服务提供客户端连接。 命名空间:System.Net.Sockets程序集:System(在 system.dll 中)TcpClient 类提供了一些简单的方法,用于在同步阻止模式下通过网络来连接、发送和接收流数据。为使 TcpClient 连接并交换数据,使用 TCP ProtocolType 创建的 TcpListener 或 Socket 必原创 2012-04-30 09:07:54 · 1476 阅读 · 0 评论 -
TcpListener 类
从 TCP 网络客户端侦听连接。 命名空间:System.Net.Sockets程序集:System(在 system.dll 中) TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。可使用 TcpClient 或 Socket 来连接 TcpListener。可使用IPEndPoint、本地 IP 地址及端口号或者仅使用端原创 2012-04-30 09:06:17 · 2417 阅读 · 0 评论 -
给 C# 开发者的代码审查清单
【感谢@L就是L 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考。这是为了确保在编码过程中,大部分通用编码指导原则都能注意到。对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助。 清单1. 确保没有任何警告(warnings)。2.如果先执行Code Analysi转载 2013-08-23 06:44:51 · 1075 阅读 · 0 评论 -
AJAX 学习笔记[三] get 与post 模式的区别
如果是get 模式的请求,则将传递参数通过URL 地址发送到服务器端;如果是post 模式的请求,则将传递参数通过send( ) 方法发送到服务器端(并且必须设置请求文件头); post 模式的代码如下: script type="text/javascript"> !-- var queryString = "firstNa转载 2013-08-31 10:56:02 · 914 阅读 · 0 评论 -
CSS
1.word-wrapword-wrap : normal | break-word解释:normal:控制连续文本换行。break-word:内容将在边界内换行。如果需要,词内换行(word-break)也会发生。2.widthwidth:70%原创 2013-09-03 20:08:08 · 759 阅读 · 0 评论 -
Ajax实现多级联动菜单
最近在重温Ajax技术,就顺手拿起了当年的《Ajax经典案例开发大全》来温习。发现里面有些错误,现在就指出来,这样可以帮助后学者少走弯路。主要的技术有:MySql、JDBC、JSON、Ajax、JSP。其实本文不算原创,主要内容还是摘自《Ajax经典案例开发大全》。 1.数据库设计[sql] view plaincopyprint?drop datab转载 2013-09-14 15:01:26 · 1938 阅读 · 0 评论 -
jquery的$.extend和$.fn.extend作用及区别
jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend();jQuery.extend();虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。jQuery.extend(object); 为jQuery类添加类方法,可原创 2013-09-14 15:43:11 · 2639 阅读 · 0 评论