DotNet技术
文章平均质量分 75
HNFXS985
这个作者很懒,什么都没留下…
展开
-
对三层架构简单总结
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。 1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理原创 2013-02-12 22:35:15 · 797 阅读 · 0 评论 -
DataSet和DataReader的区别
DataSet 与 DataTable:简单解释:DataReader 是连接模式 只读向前 读取数据时要保持连接数据库 优点 读取速度快 缺点 要保持连接DataTable 是断开模式 一次性将数据读入内存 然后断开与数据库的链接 优点 可断开操作不用占用连接 缺点 消耗系统资源 DataSet不能直接用来存储数据,如果仅用DataSet,它会自动的生成一个DataT原创 2013-07-24 21:28:33 · 1079 阅读 · 0 评论 -
C# 能否获取一个对象所占内存的大小
今日,在项目重构的时候忽然想到一个问题,一个类哪些成员的增加,会影响一个类所占内存的大小?C#有没有办法知道一个对象占多少内存呢? 第一个问题:很快想到是类的非静态的字段、属性。 第二个问题:首先想到的是sizeof()。下面开始验证,首先来验证值类型,验证代码如下:int size = sizeof (int); //4个字节注意点:s原创 2013-07-25 16:55:32 · 5747 阅读 · 0 评论 -
C#实现插件框架--过程
以下例子实现界面和数据操作的分离,界面成为一个dll,数据操作部分成为一个dll。先上一个框图: 从上面的框图可以看出整体上需要:三个接口下面是代码:(1)建立第一个项目(以便形成dll),名称为:PluginKernel,此项目里面只需定义三个接口,为了层次分明,这三个接口分在两个.cs文件中。先在IControl.cs(或IApp)文件中定义两个接口:na原创 2013-01-18 17:08:24 · 1831 阅读 · 0 评论 -
将外部应用程序嵌入WinForm中
转自:http://blog.csdn.net/llddyy123wq/article/details/5624625如何用C# WinFrom程序将其他程序激活并让其他程序作为他的子窗体。比如他开个主窗体可以把QQ,游戏什么的作为他的子窗体显示出来?这个问题我在网上看到很多人都提过。但真正解决问题的很难找到。后来终于在网上找到了一个相关方面的知识。我早把这个资源上传到我的下载文件中去转载 2013-09-15 17:46:36 · 2038 阅读 · 0 评论 -
C#托管代码与C++非托管代码互相调用
转自:http://blog.csdn.net/llddyy123wq/article/details/5620441C#托管代码与C++非托管代码互相调用http://www.cnblogs.com/Jianchidaodi/archive/2009/03/11/1407270.html#1473515 http://www.cnblogs.com/Jianchida转载 2013-09-15 17:44:17 · 2316 阅读 · 0 评论 -
C# 关键字extern用法
转自:http://blog.csdn.net/llddyy123wq/article/details/5620466修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,如下面的示例所示:[DllImport("avifil32.dll")]转载 2013-09-15 17:46:20 · 1695 阅读 · 0 评论 -
C#中的Attribute 特性入门总结--从DotNET平台调用Win32 API
以下内容全部来自网上片段总结:摘要:纠结地说,这应该算是一篇关于Attribute 的笔记,其中的一些思路和代码借鉴了他人的文笔(见本文底部链接)。但是,由于此文对Attribute 的讲解实在是叫好(自夸一下 ^_^),所以公之于众,希望能对大家有所帮助。 Attribute与Property 的翻译区别 Attribute 一般译作“特性”,Property 仍然译原创 2013-10-14 21:44:49 · 986 阅读 · 0 评论 -
C#对象序列化
转自:http://www.csharpwin.com/dotnetspace/12740r6571.shtml要让一个对象支持.Net序列化服务,用户必须为每一个关联的类加上[Serializable]特性。如果类中有些成员不适合参与序列化(比如:密码字段),可以在这些域前加上[NonSerialized]特性。 C#支持三种序列化格式:二进制格式(使用BinaryFormatter序转载 2013-11-28 13:03:54 · 1001 阅读 · 0 评论 -
ASP.NET MVC 入门1、简介
转自:http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1302462.htmlASP.NET MVC 入门1、简介什么是MVC模式MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)转载 2013-12-15 23:02:20 · 1149 阅读 · 0 评论 -
C#与Java对比学习:数据类型、集合类、栈与队列
数据类型: C#:String与StringBuilderJava:String与StringBuffer第一个不习惯是string的第一个字母必须大写了。第二个不习惯是int得写成Integer了,虽然可以定义int i=0,但是对于泛型等用法必须ArrayList。常用集合类比较:C# :HashTable List转载 2014-06-19 15:55:06 · 872 阅读 · 0 评论 -
C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
类型判断符号: C#:object a; if(a is int) { } 用 is 符号判断Java:object a; if(ainstanceof Integer) { } 用 instanceof 符号判断类与接口的继承: C#:public class MDataRow : List, IDataRecord, ICustomTypeDescrip转载 2014-06-19 15:56:26 · 882 阅读 · 0 评论 -
java中的“包”与C#中的“命名空间
我们知道,重用性(reusebility)是软件工程中一个非常重要的目标。重用,不仅仅指自己所写的软件(代码、组件等等)可以被重复利用;更广义的重用是指不同的人,不同的团队,不同的公司之间可以互相利用别人的成果。另外,对于大型软件,往往是由多个团队共同开发的,这些团队有可能分布于不同的城市、地区、甚至国家。由于这些原因,名字管理成为一个非常重要的因素。由于C语言本身不提供名字管理的机制(C转载 2014-06-22 22:55:51 · 1093 阅读 · 0 评论 -
C#数据库备份及还原的实现代码
转自:http://developer.51cto.com/art/200908/143038.htm转载 2014-10-16 08:30:40 · 1298 阅读 · 0 评论 -
【总结】C++、C#、Java、Javascript、Python中引用的区别
首先分两大阵营:C++中引用是一块阵营,C#、Java、Javascript、Python中引用是另一块阵营。之所以这样分是因为同一阵营中引用使用方法基本一样。C++引用本质是个常量指针,而其他语言引用本质是个普通指针。也就意味着C++的引用一旦初始化(执行确定了),以后就不可再修改(不可再指向其他对象),而其他语言的引用可以随时修改指向。具体区别:(先声明下面原创 2016-04-23 20:02:08 · 1425 阅读 · 0 评论 -
【区别总结】C、Java和脚本语言区别
1、对象内存C++对象内存布局(虚函数表,值类型的子对象直接分配内存单元,引用类型的子对象记录地址),注意不为成员函数分配任何内存空间,代码中的成员函数全部在代码区,且代码中成员函数的调用在编译时就翻译成代码区某个函数首地址的调用,也就是说成员函数本质上跟普通函数没任何区别,只是加了类名这个作用域限制了而已,而且这个限制只在对编译器起作用。所以,C++类在编译后就不起作用了,也可以理解为类只是原创 2016-08-23 18:59:11 · 4122 阅读 · 0 评论 -
静态函数 抽象类 覆盖-重写-重载 委托-事件-匿名函数 密封 Lambda表达式
下面叙述以C#语言为例,其它语言也有参考价值1、静态函数 在类中定义静态函数,就不用实例化类了,直接用类名就可以访问了。在定义类的方法时,如果该方法与类的成员变量没有任何关系(也就是根本不会使用到类的成员变量),不对该类的成员变量进行读写,只是根据方法的参数进行操作,那么就应该将该方法声明为static方法,以节省资源(我自己不赞同)和提高执行速度(这点很关键)。比如常用的系统定义好的原创 2013-02-24 13:43:26 · 1702 阅读 · 0 评论 -
引用的本质是什么(c++,c#,java)?
转载自:http://www.cnblogs.com/rollenholt/articles/1907408.html在大学的时候,教材里这么说的“引用是个别名...引用作为目标的别名而使用...引用不是值不占存储空间...引用只有声明,没有定义...”那么,引用到底占不占内存空间,引用的本质是什么?下面举个例子:int a = 10;int &b = a;这里,显然,b是转载 2013-02-15 22:38:46 · 1259 阅读 · 1 评论 -
c# Using语句三用途
using语句适用于那些需要及时释放资源的代码,其一般形式为:using (type obj=initialization) //也可以包含多个obj的初始化或new,中间用逗号分隔即可。{ //具体的处理代码}其实using语句本质上是对try语句的封装,等价于:{ type obj=initialization; tr原创 2013-02-12 14:43:55 · 1706 阅读 · 1 评论 -
windows消息机制总结(包括mfc,.Net)
无论任何框架怎么包装,其内部消息处理的过程都是类似的,消息处理的过程大概如下:操作系统捕获诸如鼠标单击、键盘按下等消息时会自动识别是那个应用程序的消息【我估计比如鼠标单击,根据当前单击的位置判断是那个应用程序的窗口】,然后把消息放到这个应用程序的进程的消息队列中(每个应用程序都有一个消息队列),每个应用程序中都有一个main函数,此函数中有一个While循环,不断的从消息队列中取出消息(一个结构体原创 2013-04-01 17:12:41 · 1334 阅读 · 0 评论 -
asp.net的<% %>总结
转自:http://www.cnblogs.com/zhaozhan/archive/2010/07/20/1781756.html 在asp.net应用程序中,在asp.net页面常用的、、。在全球化的项目中使用绑定资源项目,在asp.net mvc中使用绑定ViewData。 主要用于在web页面定义Page、引入控件、组件、设置Cache等: 1: @ P转载 2013-04-05 16:50:37 · 820 阅读 · 0 评论 -
C#学习笔记—程序集-从基础到高级
转自:http://www.cnblogs.com/MeteorSeed/archive/2012/01/17/2318547.html目录一 “单文件程序集”与“多文件程序集”二 “普通程序集”与“强名称程序集”三 “私有程序集”与“共享程序集” 在学习程序集时,总是发现程序集被冠以各种头衔。程序集按文件数量可分为:单文件程序集和多文件程序集;按是否签名,可分为:普通程转载 2013-04-10 16:16:46 · 1128 阅读 · 0 评论 -
C#对Excel的样式操作
转自:http://www.cnblogs.com/flyinghigher/archive/2012/03/15/2398560.html /// /// 单元格背景色及填充方式 /// /// 起始行 /// 起始列 /// 结束行 /// 结束列 /// 颜色索引 public void CellsBackColor转载 2013-04-12 09:49:28 · 953 阅读 · 0 评论 -
Oracle免客户端For .Net(精简方案)---ODP.net
转自:http://www.cnblogs.com/nnhy/archive/2011/10/30/2229444.htmlOracle免客户端For .Net(增加分析Devart和DataDirect)Posted on 2011-10-30 19:17 大石头 我只是一名普通的.Net开发人员,常用SqlServer,偶尔用其它数据库,属于能连上然后sele转载 2013-04-12 10:56:00 · 3084 阅读 · 0 评论 -
c#程序不必把dll放在exe目录下--app.config文件中添加dll程序集的查找目录
方法是使用应用程序配置文件,如下为配置文件的内容同名的配置文件.exe.config (在项目中为app.config)里面的内容: 其中Lib 是根目录下的目录存放dll 注意:assemblyBinding节点的xmlns一般固定就为"urn:schemas-micro原创 2013-04-12 10:44:51 · 3662 阅读 · 0 评论 -
C# App.config全攻略
转自:http://www.cnblogs.com/flyinghigher/archive/2012/03/15/2398662.html读语句: String str = ConfigurationManager.AppSettings["DemoKey"];写语句: Configuration cfa = ConfigurationM转载 2013-04-12 09:46:25 · 1572 阅读 · 0 评论 -
Web.Config全攻略
转自:http://www.cnblogs.com/flyinghigher/archive/2012/03/15/2398669.html一、认识Web.config文件 Web.config 文件是一个xml文本文件,它用来储存 asp.NET Web 应用程序的配置信息(如最常用的设置asp.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通转载 2013-04-12 09:48:22 · 1019 阅读 · 0 评论 -
WinForm打包
转自:http://www.cnblogs.com/spring_wang/archive/2009/03/28/1423851.html前几天很多朋友都问过我WinForm怎么样打包,所以今天写在blog中,让不知道的朋友也能顺利完成:1. 一个WinForm项目完成后"bin"Debug下都会有一个主.exe文件与一些相关的文件.2. 新创建一个安装与部署项目转载 2013-04-12 16:10:17 · 838 阅读 · 0 评论 -
不安装客户端连Oracle数据库--ddtek.oracle.dll使用时注意
转自:http://blog.csdn.net/rrrrssss00/article/details/5757301ddtek.oracle.dll 可以不安装Oracle客户端,直接使用其来登录Oracle服务器, 使用上,与OracleClient基本相同,但在OracleCommand的Parameter定义和使用上略有不同,如下: OracleClient:转载 2013-04-12 15:40:01 · 2955 阅读 · 0 评论 -
C# DllImport的用法
转自:http://www.cnblogs.com/brightsea/archive/2012/04/12/2443458.html大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调转载 2013-04-14 15:27:11 · 616 阅读 · 0 评论 -
图解Ado.net连接数据库并存取数据的几种方式
首先上两个通用的图: 上面这两个图都是描述Ado.net的工作原理的。应用程序读取数据共有三种方式:(1)直接通过Command对象读取(但一次只能对一条数据,即表的一行),读完后不断开连接。(2)通过DataReader对象读取(类似单向管道似的,一条一条的读数据),读完后不断开连接。(3)通过DataAdapter一次读一堆数据(这个堆就是DataSet),读完原创 2013-04-06 17:24:17 · 2800 阅读 · 0 评论 -
VS项目属性的一些配置项的总结(important)
以下内容为“原创”+“转载”首先,解决方案和项目文件夹包含关系(c++项目):VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项目,此时生成的最外层目录为fangan代表整个解决方案的内容都在这个文件夹内。在这个fangan文件夹内包含有fangan.sln的解决方案配置文件和一个ssyy文件夹,原创 2013-02-28 15:08:12 · 26166 阅读 · 5 评论 -
c#中using-添加引用-程序集(详解) 以及与 c++中include等区别
一、c#中Using无非就三个作用,引入名字空间,减少代码输入量;给名字空间或类型定义一个别名;try-catch的一种替代。二、c#中添加引用的作用是把其它程序集包含到本项目中,就好像在本项目中写的类一样,因为只有在一个项目中写的类才能互相识别。c#中一个项目中写的两个类是无条件相互识别的,比如在项目中写了Class1和Class2,当然这两个类的名字空间一样。在Class2的方法中可以直接原创 2013-02-23 22:54:17 · 6034 阅读 · 1 评论 -
关于流(io)
流是一种对集合上的一系列转换延迟执行的机制。这样简单理解记忆流:流就是一个帮定了一个“外设”的容器,具有缓冲功能。之所以产生流,是为了方便处理从一个容器往另一个容器里放东西的时候,不用考虑另一个容器是否来的及接收和是否能够容得下,这些都由流自动完成。所以简单理解流时,也可以把流看做事绑定了一个“外设容器”的“具有缓冲效果的外设”。下面举例讲解为什么可以这样简单理解:我们在new一个流的原创 2016-05-02 22:56:27 · 680 阅读 · 0 评论