- 博客(295)
- 资源 (171)
- 收藏
- 关注
原创 kindeditor在asp.net中的使用
1.新建项目,建立editer文件夹,在editer文件夹下加入如下文件,目录结构如下: 2.在页面添加如下引用:Java代码 "stylesheet" href="editer/themes/default/default.css" /> "stylesheet" href="editer/plugins/code/prettify.css" /> "u
2013-08-17 11:04:53 3233
原创 asp.net 文本编辑器kindeditor的使用
1、作用: 在.net开发过程中,经常需要文章信息发布功能,常用的开源的文本编辑器ckeditor和kindeditor等。kindeditor是一款比较好用的编辑插件,功能齐全。2、代码protected void Page_Load(object sender, EventArgs e){ this.Literal1.Text = Request
2013-08-17 11:04:38 3579
原创 Asp.net 实现GridView分页时记录CheckBox状态
用GridView自带的方法实现分页功能。用ViewState记录GridView分页后各个分页面的CheckBox的选中状态。GridView不同分页面之间的跳转只是刷新当前页面,并没有跳出当前Web页面的生命周期。(这也是ViewState的作用范围)如果想要在不同Web页面之间跳转实现信息传递的话,可以用Cookie,Session等。当我们写Asp.net程序的时候避免不了
2013-08-16 22:12:08 2867
原创 Ajax工作原理
1、ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth、google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行。而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经
2013-08-16 21:51:25 2671 2
原创 快速排序算法(C#实现)
快速排序的基本思想:分治法,即,分解,求解,组合 .分解:在 无序区R[low..high]中任选一个记录作为基准(通常选第一个记录,并记为keyValue,其下标为keyValuePosition),以此为基准划分成两个较小的 子区间R[low,keyValuePosition- 1]和R[keyValuePosition+ 1 , high],并使左边子区间的所有记录均小于
2013-08-16 21:46:52 3140
原创 冒泡排序算法(C#实现)
简单的冒泡排序算法,代码如下://冒泡排序(从数组的起始位置开始遍历,以大数为基准:大的数向下沉一位) private static void BubbleSortFunction(int[] array) { try { int length = array.Length;
2013-08-16 21:45:56 3342
原创 归并排序算法(C#实现)
归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。归并排序有两种方式:1): 自底向上的方法 2):自顶向下的方法 1、 自底向上的方法(1) 自底向上的基本思想 自底向上的基本思想是:第1趟归并排序时,将待排序的文件R[1..n]看作是n个长度为1的有序子文件,将这些子文件两两归并,若n为偶数,则得到n/2个长度
2013-08-16 21:45:25 3316
原创 插入排序算法--直接插入算法,折半排序算法,希尔排序算法(C#实现)
插入排序算法主要分为:直接插入算法,折半排序算法(二分插入算法),希尔排序算法,后两种是直接插入算法的改良。因此直接插入算法是基础,这里先进行直接插入算法的分析与编码。直接插入算法的排序思想:假设有序数组从小到大为array[0],array[1],array[2],....,array[n-2],array[n-1],那么将待排数值array[n]与前面的有序数组从后向前依次比较,直到在有序
2013-08-16 21:44:37 3098
原创 堆排序算法(C#实现)
在软件设计相关领域,“堆(Heap)”的概念主要涉及到两个方面:一种是数据结构,逻辑上是一颗完全二叉树,存储上是一个数组对象(二叉堆)。另一种是垃圾收集存储区,是软件系统可以编程的内存区域。本文所说的堆指的是前者,另外,这篇文章中堆中元素的值均以整形为例堆排序的时间复杂度是O(nlog2n),与快速排序达到相同的时间复杂度. 但是在实际应用中,我们往往采用快速排序而不是堆排序. 这
2013-08-16 21:43:41 3120
原创 从无序数组中获取最小的M个元素(小顶堆实现)
我同学大龙给我出了一道算法题:给定一个长度为N无序的数组,怎么从中挑选出最小的M个数(M我的第一想法就是用快速排序将整个数组进行排序,然后遍历排序后的数组,从中选处M个最小的数。虽然这个方法可行,但是不是最好的。用堆排序的思想就可以很好的解决这个问题。创建小顶堆,然后每次将堆顶最小元素抛出,循环M次即可获取最小的M个数。这个算法题也可以认为是堆排序的一个应用。 ///
2013-08-16 21:42:03 3890
原创 用小白鼠鉴别有毒药水问题
题设:有N瓶水,其中有一瓶水有剧毒,如果小白鼠喝了会在24小时的时候死亡。问:用多少只小白鼠能够检测出哪瓶水有剧毒?要求:用的小白鼠数量少并且用时要短,并给出合理的过程与结论。我的解题思路如下:这是一个二进制开关(0/1)问题,类比于海明码校验算法,将药水进行二进制编号(0000000,0000001,0000010,0000011...),算出至少多少位二进制能够将所有的小白鼠进
2013-08-16 21:39:38 4501
原创 已知一个整数N,求另外一个整数M,使得M本身 + M各个位上的数 = N
这是一道简单的算法题,主要就是用了取整(/)和求余(%)这两个基本运算C#代码如下所示:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace SumFormula{ class Program {
2013-08-16 21:38:40 3843
原创 将数组中指定的前N位移动到数组的最后面
微软的一道面试算法题:传入一个数组如 {1,2,3,4,5,6,7} 将数组前面 head的一个子集移到数组末尾end如input numberOfElements=3,则{1,2,3,4,5,6,7}=>{4,5,6,7,1,2,3} input numberOfElements=5,则{1,2,3,4,5,6,7}=>{6,7,1,2,3,4,5} 如何写出该算法?
2013-08-16 21:37:57 3725
原创 求数组中和最大的子数组与始末下标
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MaxSUM{ class Program { static void Main(string[] args) { //初始化目标数
2013-08-16 21:36:56 3182
原创 大数据相乘
下面是我写的一个关于大数据相乘的算法,核心思想就是通过小学竖式乘法进行运算,具体代码C#如下所示: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace BigNumberMultiplication 7 {
2013-08-16 21:35:54 3310
原创 不使用额外空间实现两个变量(int 型)的交换
这个问题不难,主要有两种方式实现。1):用“加减”运算实现 int a = 100; int b = 200; a = a + b; //300 b = a - b; //100 a = a - b; //2002):用“异或”运算实现
2013-08-16 21:34:29 3614
原创 sql批量插入数据
begin declare @i int declare @name nvarchar(max) set @i = 2 while @i 5000 begin set @name = 'user' + convert(nvarchar(max), @i) insert into EricSun_DB.
2013-08-16 21:30:04 3305
原创 MVC2.0在Tab页中实现异步无刷新分页
概述 很多地方都存在以Tab页来呈现数据的方式,比如网易、新浪、搜狐、QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据。大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据。分页也是为了方便数据的显示,在应用系统中必不可少。这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功
2013-08-16 00:16:27 4156
原创 MVC2实现分页和右键菜单
右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单。本文还将介绍一下在asp.net mvc中如何实现简单的分页。效果如下图: 首先,下载此插件。 新建一个asp.net mvc应用程序。将此插件放入Scripts文件夹。并在页面上引用。 这个demo使用到NORTHWND数据库的Product表。 定义右键菜单
2013-08-16 00:13:55 3542
原创 mvc 2中使用Ajax的三种方式
在Asp.net MVC中,我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用、Jquery、Ajax Helper。分别采用这三种方式结合asp.net mvc去实现一个史上最简单的留言板。 首先看一下原始的Ajax的调用的: 定义CommentController,代码如下:public class CommentCont
2013-08-16 00:11:19 3419
原创 MVC分页
分页效果如下:分页代码:PagerHelper.cs代码 1 using System; 2 using System.Collections.Generic; 3 using System.Collections.Specialized; 4 using System.Linq; 5 using System.Web; 6 using S
2013-08-16 00:08:36 3590
原创 ASP.NET MVC 验证方式
实现一个简单的验证(C#) 本部分主要目的是说明如何在ASP.NET MVC应用程序中实现验证。例如,将了解如何验证一个表单提交时必填内容的合法性。了解如何应用model state和验证相关的HTML helpers。 理解Model State 你使用model state,更准确点说是使用model state 字典去表示验证错误。比如,列表一中的Create()方法,
2013-08-16 00:06:16 3818
原创 C#多线程学习(六) 互斥对象
如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它
2013-08-15 23:49:12 3643
原创 C#多线程学习(五) 多线程的自动管理(定时器)
Timer类:设置一个定时器,定时执行用户指定的函数。定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。初始化一个Timer对象: Timer timer = new Timer(timerDelegate, s,1000, 1000); // 第一个参数:指定了TimerCallback 委托,表示要执行的方法;// 第二个参数:一个包含回调方法要使用的信息的对象
2013-08-15 23:47:52 3493
原创 C#多线程学习(四) 多线程的自动管理(线程池)
在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 200
2013-08-15 23:47:00 3563
原创 C#多线程学习(三) 生产者和消费者
前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,关键字lock定义如下:
2013-08-15 23:45:35 3479
原创 C#多线程学习(二) 如何操纵一个线程
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。打开你的VS.
2013-08-15 23:43:52 3607
原创 C#多线程学习(一) 多线程的相关概念
什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务
2013-08-15 23:42:51 3521
原创 C# WinForm开发系列 - DataGridView
1.DataGridView实现课程表 testcontrol.rar2.DataGridView二维表头及单元格合并 DataGridView单元格合并和二维表头.rar myMultiColHeaderDgv.rar3.DataGridView单元格显示GIF图片 gifanimationindatagrid.rar4.自定义显示Data
2013-08-15 23:16:25 3793
原创 数据库中的日期转换
数据库中的日期转换针对于目前常用的数据库Access,SqlServer,Oracle,经常有日期型的数据和字符串之间进行转换,整理如下。 Access中的日期转换日期型转换为字符串 Format函数SELECT Format(now(),'yyyy/MM/dd HH:mm:ss.SSS') As dt输出结果d
2013-08-15 22:40:15 4174
原创 DataGridView实现添加合计行并始终显示在底部
DataGridView中没有合适的方法来冻结底部的合计行,这里用一种比较简单的方式实现。1. 数据部分的DataGridView,不带任何滚动框2.合计部分的DataGridView,带有横向滚动框3.在画面上添加一个纵向滚动框实现的主要思路就是用合计行的横向滚动框控制两个DataGridView的横向滚动,右侧的纵向滚动狂控制数据部分的DataGridView,效果看起来就是合
2013-08-15 22:32:55 4209
原创 程序员学习能力提升三要素
IT 技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在毕业之后 2 年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我
2013-08-15 17:40:48 3580
原创 10步让你成为更优秀的程序员
这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的 10 件事情。 1. 永远不要复制代码 不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是 bug,它还会使你的代码
2013-08-15 17:40:22 3474
转载 技术人员如何去面试?
摘要:每年3月-5月是离职跳槽高峰期,不论什么level的程序员们都开始纷纷去考虑勾兑猎头跳槽投递简历应聘面试等等关乎自己工作事业等重大问题的忙碌上面了。本文探讨的主要是如何选择公司、如何面试、如何谈薪水等实际的问题,可能描述会有偏颇,仅供参考。 一、为什么跳槽和选择公司 1. 为什么跳槽 虽然我们跳槽的原因各自不同,但是主要原因一般都是待遇、成长、稳定这些主要因素,
2013-08-14 23:45:28 3624
原创 SQL Server优化50法
虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决。 查询速度慢的原因很多,常见如下几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)I/O吞吐量小,形成了瓶颈效应。没有创建计算列导致查询不优化。内存不足网络速度慢查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷
2013-08-14 23:33:20 3787 2
原创 Linq学习笔记
什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。 Linq包括Linq to Objects, Linq to
2013-08-14 23:30:17 3534
原创 ASP.NET MVC 入门介绍 (下)
我们来完善验证功能。在System.ComponentModel.DataAnnotations命名空间中,已经有了一些基本的属性类来实现验证功能,只要把这些属性加到Model的字段上就可以了。具体的属性类可以查MSDN, 下面给出一个例子:public class Movie{ [Key,DatabaseGenerated(DatabaseGeneratedOption.Ide
2013-08-14 23:27:28 3161
原创 ASP.NET MVC 入门介绍 (上)
1. MVC模式 MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩
2013-08-14 23:26:03 3514
原创 项目代码风格要求
1. C# 代码风格要求1.1注释类型、属性、事件、方法、方法参数,根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了,则不需要加注释;否则必须添加注释。当添加注释时,添加方式如下图所示:1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的。唯一可以使
2013-08-14 23:21:29 4058 1
原创 C# 4.0四大新特性代码示例与解读
结合代码实例来具体看一下C#4.0中的四个比较重要的特性。 1.dynamic ExpandoObject 熟悉js的朋友都知道js可以这么写 :var t = new Object(); t.Abc= ‘something’; t.Value=243; 现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoOb
2013-08-14 23:17:52 2724
动软代码生成器最新版
2014-03-14
jdk-6u21-windows-i586
2014-01-26
ThinkPad网卡驱动
2014-01-24
.NET Framework清理工具
2014-01-24
.net程序反编译工具(ILSpy)
2014-01-07
(转)程序员给女朋友用HTML5制作的3D相册
2014-04-27
适合入门学习的三层架构例子源码
2014-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人