鲜荣彬
Herry

随笔分类 -  C#

泛型学习三
摘要:记得我在读大学时听老师讲C++,我就在想老师干什么总是讲面向对象的两个特征,多态,继承,感觉自己用C++编写小程序的时候根本就没用到,干嘛总是强调这两个特征。我想很多人对这两个特征应用的不多,因为我们现在属于初级程序员,公司没有理由让我们去底层的框架开发或者基础类库书写。但是这不是我们不去思考的原因 阅读全文
posted @ 2017-12-08 13:55 Herry彬 编辑
泛型学习二
摘要:在谈泛型的时候,必须说起C#的四种数值类型:即引用类型、(数)值类型、结构类型以及枚举类型,大多数人会将(数)值类型和结构类型统称为值类型。前面一直在说,使用泛型会大大提高程序的执行效率,之前一直没讲?现在来说一下其中的一个原因。IDE运行C#代码时,首先会将其解析成IL形式的程序集,然后才加载至内 阅读全文
posted @ 2017-12-08 13:54 Herry彬 编辑
使用 Aspose.Cells 实现 excel导入
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Data; using System.Diagnostics... 阅读全文
posted @ 2016-03-19 10:25 Herry彬 阅读(769) 评论(0) 推荐(0) 编辑
C#单例模式的三种写法 以及 继承面试题
摘要:1、没有考虑线程安全 2、考虑了线程安全,不过有点烦,但绝对是正规写法,经典 (二)一道面试题 阅读全文
posted @ 2015-12-22 15:34 Herry彬 阅读(930) 评论(0) 推荐(0) 编辑
oracle 存储过程
摘要:CREATE OR REPLACE PROCEDURE SP_GET_RANK( V_ORGAN_ID VARCHAR2,--机构编号 V_DATE VARCHAR2, --统计时间 V_PAGEINDEX IN NUMBER, V_PAGESIZE ... 阅读全文
posted @ 2015-12-22 15:33 Herry彬 阅读(699) 评论(0) 推荐(0) 编辑
使用元组Tuple,返回多个不同类型的值
摘要:记得我在不知道Tuple时,如果想实现调用某个函数时,返回多个值,则需要使用ref或者out了。 string name = ""; int result= GetInfo(ref name); public int GetInfo(ref string name)... 阅读全文
posted @ 2014-11-25 22:04 Herry彬 阅读(648) 评论(1) 推荐(1) 编辑
使用数据流的方式 将数据导出到指定形式到Word中 (不使用插件,很简单的一种)
摘要:protected void Page_Load(object sender, EventArgs e) { string fileName = "路政许可事项办理流转情况汇总统计" + ".doc"; OutPutToWord("UTF-... 阅读全文
posted @ 2014-11-24 21:59 Herry彬 编辑
HttpModule的一些初步认识
摘要:新建一个类ValidaterHttpModuleEvents继承管道接口 IHttpModule,代码如下public class ValidaterHttpModuleEvents:IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(context_BeginRequest... 阅读全文
posted @ 2014-01-04 17:10 Herry彬 阅读(429) 评论(0) 推荐(0) 编辑
MVC学习(四)几种分页的实现(2)
摘要:在第一种分页方式中,仅仅实现了分页,但并未有体现出MVC的优势,没有体现出泛型编程思想,尤其在数据量很大的时候,分页十分缓慢,除此之外,还没有实现很好的封装,不是一个通用方法。 因此,我希望只要传入数据源以及页码数(采用泛型编程)便可以实现分页功能,且使用十分的方便。 下面就讲讲我的一些理解。 在泛型编程中,数据容器一般继承了IQueryable或者IEnumerable接口(此例中,数据源暂时继承了这两种接口)。 为了调用方法方便,我决定对这两个接口写扩展方法。 首先为了实现数据分页功能,我们常常需要考虑以下六个属性 总页数(TotalPage)、总数据量(Tota... 阅读全文
posted @ 2014-01-03 20:13 Herry彬 阅读(18190) 评论(1) 推荐(2) 编辑
static 构造函数的认识
摘要:最近,看到一道面试题,如下class Class1{ private static int count = 0; static Class1() { count++; } public Class1() { count++; }} Class1 one = new Class1(); Class1 two = new Class1(); 问程序执行完成以后,Class1.Count的值是多少。很显然,考查的是对static关键字的基本认识,答案是3。 从程序的执行顺序来说,第一次实例化类Class1时,先走静态构造函... 阅读全文
posted @ 2013-12-06 09:51 Herry彬 阅读(6634) 评论(3) 推荐(0) 编辑
const与readonly
摘要:const :编译时常量,即编译时确定数据。 readyonly :运行时常量 ,即运行时被计算,其编译后的IL将维持对变量的引用,而非它的值得引用,类似于c语言的地址。 编译时常量只可用于基元类型、枚举类型,因为只有这些类型才允许我们在初始化中指定有意义的常量值。 何为基元类型?编译器能够直接支持的数据类型叫做基元类型,下面的类型就是基元类型。 sbyte / byte / short / ushort / int / uint / long / ulong/char / float / double / bool / decimal /object / string 这里顺便... 阅读全文
posted @ 2013-03-30 19:49 Herry彬 阅读(1089) 评论(4) 推荐(0) 编辑
泛型学习一
摘要:泛型的概念是在C#2.0引进来的,现在普遍开发都用VS2010,即4.0的环境,因此会让大家觉得泛型在C#中理所当然的存在。 泛型特性极大的影响了开发人员编写代码的方法和方式,与传统的弱类型集合相比,使用泛型集合能够保证编译期类型安全,并提高应用程序的执行效率。(太官方了) 记得我刚刚接触泛型时,总 阅读全文
posted @ 2013-03-24 21:58 Herry彬 阅读(1113) 评论(0) 推荐(2) 编辑
让自己的类更多的使用属性
摘要:当我们从C语言接触编程开始,一旦定义一个类,我们必然会给这个类定义许多数据成员。然后C#本身却正在极力改变这样一个事实,从各种服务器控件编写你应该可以看出,net对属性的支持远远大于对成员的支持。从我的博客自定义学习控件(一)中你可以看见,当我们自己书写自定义控件时,我们对控件类的定义几乎是属性,而 阅读全文
posted @ 2013-03-17 18:34 Herry彬 阅读(5723) 评论(1) 推荐(1) 编辑
自定义控件学习(一)
摘要:最近,看着公司自定义的控件,觉得自己应该学习这些东西,这样有助于自己基础知识的巩固,于是试着还原公司的代码,看自己是否有这样的功力。 公司的控件大致有这样的用途:将控件放一个容器中,通过给自己定义控件绑定数据库中表的字段,然后根据业务的需求自动生成增删改查Sql语句,程序员可以将重点放在业务的分析处理中,尽可能的少写SQL语句。先不说这样的方法好不好,抱着学习的思想,我于是试着还原这些代码。 现在想一下实现如此的功能:在自定义的一个容器控件中,放入自定义控件,有TextBox,Label,CheckBox等,然后,点击Button,自动生成AddSql、UpdateSql、SearchSq.. 阅读全文
posted @ 2013-01-26 16:44 Herry彬 阅读(2028) 评论(2) 推荐(1) 编辑
如何设置制定按钮为希望响应回车的真正按钮
摘要:最近,在公司做项目的时候,遇见一件很有意思的事情。有这样一个需求:A页面有一个文本框,一个asp:Button,我们在文本框中输入内容后,按回车键,然后跳转到B页面(当然页面还有其他控件)。奇怪的是,断点调试显示此时已经触发了事件,但是就是不能跳转到B页面,更奇怪的是连续点击Enter键两次,才能够跳转到B页面。公司的同事一时也没能够解决,于是,本着学习的态度,研究如何设置制定按钮为希望响应回车的真正按钮。 这里,我就从form表单提交事件聊起。 在html页面中,如果我们需要把一个A页面的数据,提交到B页面,我们会这样写<form action="B.htm" me 阅读全文
posted @ 2013-01-10 22:57 Herry彬 阅读(5348) 评论(0) 推荐(0) 编辑
一个面试题关于变量的生命周期
摘要:各位大侠,下面有一段短代码,请看,问你输出的结果什么 class Person { public static int A=30; static Person() { A++; } public int B=A++; } static void Main(string[] args) { Person p1 = new Person(); ... 阅读全文
posted @ 2012-02-29 16:49 Herry彬 阅读(474) 评论(6) 推荐(1) 编辑
谈谈GC机制
摘要:我们在编写程序的时候会用到各种不同的资源,比如内存块,屏幕区域,文件,网络连接,数据源等等。我们必须对这些资源进行有效的操作,才能确保我们程序快速而高效的运行。一般来说,我们会对资源如此的操作,为对应的资源分配内存————》初始化内存----》使用资源----》清理资源------》释放内存,这是我们最常用的方法。学过C++的朋友们应该知道,C++中的指针是另程序员很头疼的一件事,因为指针是直接指向内存,如果对指针处理不当,必将让程序效率大打折扣的(当然,我学过,比如MFC)。如果你只知道基础的语法知识,那么那你是没那么深得体会的。C++程序员会手动管理内存,当new了一个对象后,会在这个类. 阅读全文
posted @ 2011-11-27 17:24 Herry彬 阅读(5270) 评论(0) 推荐(2) 编辑
页面请求处理管道 模拟
摘要:在前面的博文中 我阐述了自己对页面生命周期的一些理解,我觉得自己可能还没有阐述清楚,因此我在这里模拟 Http 请求处理管道的一些过程,其实这些事件在 Global.asax 中是有体现的,我只是在这里将其细化,供大家更好的理解Http 请求处理管道的请求过程,以便在asp.net 应用处理程序完成自己的操作。在 Global.asax 中 有这样几个事件 View Code public class Global : System.Web.HttpApplication { protected void Application_Start(object ... 阅读全文
posted @ 2011-11-13 12:18 Herry彬 阅读(340) 评论(0) 推荐(1) 编辑
关于 产生随机数的解答
摘要:最进,我开始找工作了,面试了几家招.net程序员的公司,做了一些面试题,发现他们的笔试题中几乎都有 求解 不重复随机数的产生问题,第一次做这道题的时候感觉题目很简单,几秒钟就做出来了,多做了几次,感觉似乎这些公司不会这么无聊吧,喜欢出这种题目,于是,便有了个心眼,尽量做出一些与其他人不同的答案,以显示自己的不同之处,下面就将自己做的几种 不同的方式答案贴出来,希望大家多讨论讨论!第一种解答 ArrayList arraylist = new ArrayList(); Random random = new Random(); int temp = 0; while (arraylist... 阅读全文
posted @ 2011-10-31 22:40 Herry彬 阅读(213) 评论(0) 推荐(1) 编辑