.net专区
文章平均质量分 75
luoboqingcai
is is bad boy
展开
-
在.net开发中几个重要的认识误区
在.net开发中几个重要的认识误区.net如今已经很流行,成为赶时髦的程序员的首选。但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里先介绍一部分。一、.net程序再运行一次就会更快许多人对此的解释是:.net程序第一次运行时会被编译成本地代码,所以再次运行会更快。但遗憾的是,其实每次运行,那些IL都会被翻译一次,不会保留下来。所以并不会变快。但为什么有时候真的觉得快了呢?原创 2004-09-25 19:53:00 · 616 阅读 · 0 评论 -
设计模式-工厂模式(手工作坊到工业化的转变 c#实现)
还是以快餐店做例子,简单工厂模式相当于家庭作坊,随着社会的进步,分工变细,所有快餐不再是一个师父包办,而是出现了面点师,米饭师(呵呵,不知道有没有这个,反正大家明白就行),面包师分别负责专门的食物制作。这就是工厂模式,请看下面的例子: using System;namespace FactoryPattern{ /// /// 工厂模式示例 /// class FactoryPat原创 2004-11-25 07:28:00 · 975 阅读 · 0 评论 -
设计模式-简单工厂模式(SimpleFactory-C#)
参考资料《java与模式》上面那本书上的例子举的是园丁和果园的例子,学习设计模式最好在生活中自己找个例子实践一下,下面是我自己的一个例子,是讲快餐店的例子,快餐店提供很多食物,比如面条,米饭,面包。首先定义了一个Food接口,然后这些食物都从它来继承,定义了一个大厨他包办所有食物的制作工作,这就是我所理解的简单工厂模式的概念,下面是源代码: using Syste原创 2004-11-25 07:29:00 · 765 阅读 · 0 评论 -
C#编一个简单的文件上传程式
private void Button1_Click(object sender, System.EventArgs e){if (File1.PostedFile != null){//上传文件的文件名(含完整路径)string fileName = File1.PostedFile.FileName ;//上传文件的大小(byte)int fileLength = File1.PostedFi原创 2004-11-25 07:31:00 · 1161 阅读 · 0 评论 -
C#網絡編程
C#网络编程概述 微软下一代互联网开发工具VS.Net已于三月份在全国范围推出,其中的一门新兴语言C#正被越来越多的开发者所接受并运用。 C#作为一门集众家之长的语言,在各个方面尤其是网络编程方面有着很大的优势。本文就向大家介绍一下用C#进行网络编程的一些基本知识和方法。 微软的.Net框架为我们进行网络编程提供了以下两个名字空间:System.Net以及System.Net.Socke原创 2004-11-25 07:32:00 · 877 阅读 · 0 评论 -
C#中的多線程
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是原创 2004-11-25 07:32:00 · 785 阅读 · 0 评论 -
购物车的实现及结算处理
本示例利用Session对象来实现一个简单的购物车。主要用于教学演示。Book类此类主是代表购物车的一本书using System;namespace CartTest{ /// /// Books 的摘要说明。 /// public class Book { string bookid; string title; decimal price; int num;原创 2004-11-25 07:34:00 · 1195 阅读 · 0 评论 -
使用.NET Framework组件中的DataGrid显示ADO中的RecordSet对象的记录
虽然在VB.NET中可以使用com组件中的DataGrid控件来显示ADO中的RecordSet对象的记录,但是com组件中的DataGrid控件的功能远没有.NET Framework组件中的DataGrid控件强大,其实也可以用.NET Framework组件中的DataGrid控件显示ADO中的RecordSet对象的记录,在VB.NET论坛看到大多数人只用过.NET Framework组件原创 2004-11-25 07:35:00 · 1027 阅读 · 0 评论 -
天天学C#-委托(delegate)
参考资料《C#技术揭密》 http://www.microsoft.com/china/msdn/events/featureevents/default.mspx 这里有一些微软.net编程的视频资料 对学过c/c++的来说,delegate就相当于函数指针,看下面的代码:class Person{ public Person(string nam原创 2004-11-25 07:42:00 · 924 阅读 · 0 评论 -
.NET中的设计模式五:观察者模式
观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。观察者模式有很多实原创 2004-11-25 07:46:00 · 938 阅读 · 0 评论 -
.NET中的设计模式四:命令模式
命令模式(Command)结构并不复杂,简单的说,就是将某些职责封装成对象,对象的激发者(Invoker)和接收者(Reciever)都不过问命令的执行过程。用这样的方式解除了激发者和接受者之间的耦合,为程序提供了更清晰的层次结构。实际运用中经常是将系统中的命令抽象成一个接口,所有的命令都是这个接口的实现,如下所示: Command类是ICommand的实现,Command类实现了exec原创 2004-11-25 07:47:00 · 908 阅读 · 0 评论 -
.NET中的设计模式三:组合模式
组合模式(Composite)是一种“结构型”模式(Structural)。结构型模式涉及的对象为两个或两个以上,表示对象之间的活动,与对象的结构有关。 先举一个组合模式的小小例子:如图:系统中有两种Box:Game Box和Internet Box,客户需要了解者两个类的接口分别进行调用。为了简化客户的工作,创建了XBox类,程序代码如下:GameBox的代码:原创 2004-11-25 07:48:00 · 1012 阅读 · 0 评论 -
.NET中的设计模式二:单件模式
单件模式(Singleton)是一个非常简单的模式,这是我第一个理解并且能运用的模式。有时候模式的复杂程度并不在于本身,而是由于他的应用目的。最初的时候面对一个模式经常充满了困惑,一个简单的调用为什么要搞的如此复杂?为什么要建立这么多类,只是为了打开一个文件。通常说来学习一个模式是一个接受、认可、领会的过程。接受:了解模式的结构,了解实例的意义;认可:认可该模式在实际工程中的作用和可行性;领会原创 2004-11-25 07:49:00 · 939 阅读 · 0 评论 -
.NET中的设计模式一:工厂模式
设计模式概述设计模式从本质上说是一种规则,从形式上说,分为创建型、结构型、行为型。设计模式的应用是为了实现软件设计中的几个原则,其中一个重要原则是:减少模块之间的耦合程度。为了确保这个目的,在设计一个类时,要针对接口,而非实现。(Programming to an Interface, not an Implementation)设计的时候只关心类的接口,编程的时候可以先实现一个简单的接口原创 2004-11-25 07:49:00 · 1315 阅读 · 1 评论 -
简单启动窗体的制做
简单的启动窗体 public static System.Threading.Thread thread; public static ce.About welcomefrm; [STAThread] static void Main() { System.Threading.ThreadStart start=new ThreadStart(ce.ceStart.splashF原创 2004-11-25 07:51:00 · 919 阅读 · 0 评论 -
在.Net中嵌入资源文件到程序集中
一、导言... 3二、软件环境... 3三、资源文件... 3四、创建资源文件... 3五、使用资源文件... 65.1 在命令行编译中使用资源文件... 65.2 在Visual Studio.NET中使用资源文件... 8六、结束语... 9 一、导言Microsoft的.NET从2002年1月15日第一版发布到今天,已经得到了广泛的使用;从刚原创 2004-11-25 07:53:00 · 1545 阅读 · 0 评论 -
vb.net中的数据库连接
在项目中选择左边“工具盒”中的数据库适配器,本例子用的是ODBC数据源,所以选择OdbcDataAdapter.选中OdbcDataAdapter,在属性窗口中选择SelectCommand,展开,选择Connection,在下拉框中选择“新建”,在弹出的窗口中选择Computer database页,选中想要得OdbcDataSource.选择Command Text,点击旁边的“省略号按原创 2004-11-25 07:58:00 · 1659 阅读 · 0 评论 -
C#中调用Windows API的要点
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:/Program Files/Microsoft Visual Studio .NET/Fram原创 2004-11-25 07:26:00 · 702 阅读 · 0 评论 -
.net中webform和winform连接sql server 2000数据库的c#操作类
一.这个为c#连接winform注意点:(1)调用时必须引用此类的命名空间(2)类中引用的命名空间using System;using System.Data;using System.Data.SqlClient;(3)调用示例: DataSet ds =new DataSet(); string sql="select * from [user]"; ds=DoDataBas原创 2004-11-25 07:24:00 · 2339 阅读 · 0 评论 -
代理(Proxy)模式
摘要本文讨论了代理模式的概念、种类、长处和短处,以及在Visual Basic.NET(见文中)和C#语言中的实现(见附录),以及代理模式与其他设计模式的关系。目录代理模式概念代理的种类 远程代理的例子:Achilles Windows的快捷方式:代理的例子 代理模式的结构 代理模式的时序 代理模式的长处和短处 模式的实现 代理模式与其它原创 2004-11-25 04:28:00 · 998 阅读 · 0 评论 -
.NET体系中的源程序安全问题(4)
四、结束语 如果你是一个桌面应用的供应商,你清楚自己应该怎么做。你可以用非受管理的C++编写代码,然后从受管理的VB调用它。用这种方法设计应用,你能够确信代码的安全。然而,如果你是一个第三方供应商,而且准备在组件中用非受管理的代码替代受管理的代码,那么,你是在强迫用户放弃.NET的优势,重新让他们面对他们今天所面临的问题。受管理代码能够防止对应用本身或者其他应用所使用的内存空间进行破坏性操作,对受原创 2004-09-25 19:55:00 · 588 阅读 · 0 评论 -
.NET体系中的源程序安全问题(3)
三、反向工程 当程序集以MSIL而不是机器代码的形式发布时,最令人关心的问题应该就是安全。正如前面所介绍的,程序集包含了关于包里面所有模块的manifest以及详细描述各个模块的元数据。.NET SDK 提供了一个名为ILDASM的工具,它是一个IL反汇编程序,能够从模块反汇编出IL代码以及应用程序中各个模块的元数据说明。从Listing 1可以看出,利用ILDASM对代码实施反向工程是极为方便原创 2004-09-25 19:56:00 · 627 阅读 · 0 评论 -
.NET中各种数据库连接大全
-->--> SQL Server ODBC Standard Security:"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;" Trusted connection:"Driver={SQL Serve原创 2004-09-25 19:59:00 · 576 阅读 · 0 评论 -
用.net静态变量取代Application,速度更快
在传统的ASP中,我们要用application对象去存储应用于整个application的变量。这当然会带来内存消耗的代价。在.net中,我们可以用static变量来改善它,采用static 变量在大多数时候存储的速度会比application对象快。 做法:创建一个webApplication,假设名称为webApplication1,在Global.aspx中的Global类中增原创 2004-09-25 20:09:00 · 838 阅读 · 0 评论 -
struct和class
有人问“为什么不能继承System.Guid 中NewGuid方法呢”,答案是很简单的,因为System.Guid 是结构而不是类。比如定义如下结构和类public struct MyType{ public int MyInteger;}public class Class1 : MyType{}这段代码将抛出编译错误内容为 "Class1: cannot inherit from原创 2004-09-27 17:25:00 · 659 阅读 · 0 评论 -
C# 编码规范
先猜个谜再看吧两只蚂蚁一起慢慢的爬着,忽然一只蚂蚁发现一个大大的梨子。(猜两个国家的名)谜底在文章未 Technotes, HowTo SeriesC# Coding Style GuideVersion 0.3by Mike Krüger icsharpcode.netAbout the C# Coding Style Guide File Organiz原创 2004-09-27 17:33:00 · 1400 阅读 · 0 评论 -
.NET体系中的源程序安全问题(2)
二、中间语言 为了了解在用VB.NET构造工程的过程中发生了什么事情,我们需要创建一个生成代码和程序集时使用的示例工程:打开VS.NET,新建一个Visual Basic工程,在窗体中加入一个文本标签(Label),然后把文本标签的Text属性改成“Good Bye Visual Basic 6.0”(如图1),把这个应用命名为GoodByeVB6。 图1 在深入.NET体系之前,我原创 2004-09-25 19:57:00 · 678 阅读 · 0 评论 -
.NET体系中的源程序安全问题(1)
在.NET平台上,代码以中间语言的形式运行,它是.NET众多优势的基础。但在独立桌面应用中,它给源代码的安全带来了威胁。本文探讨产生这个问题的原因,分析可能的解决办法。 在Visual Studio.NET(VS.NET)体系中,VB、Visual C++以及C#之类的编译器把源程序编译成MSIL。MSIL即Microsoft Intermediate Language,或Microsof原创 2004-09-25 19:57:00 · 619 阅读 · 0 评论 -
如何防止同一帐户重复登录系统
如何防止控制客户端使其用同一帐户重复登录系统.解决思路:维护一online表,查看有登陆,就不允许再次登陆,以sessionid作为唯一标识符号,也可以产生一个GUID发到COOKIE中,以区分不同的CLIENT,再佐以JS,可以达到更好的效果,比如离开后自动离线解决代码:public virtual void Application_Start(object sender, EventA原创 2004-09-27 17:28:00 · 879 阅读 · 0 评论 -
C#编写的读者写者问题(自私的读者)
// 自私读者的 读者写者问题using System;using System.Threading;public class Book{ private int[] pages; private object mutex = new Object(); // 控制对 readerCount 的访问 private object db = new Object(); // 控制对 page原创 2004-10-08 10:13:00 · 972 阅读 · 0 评论 -
一个 C# 版的冒泡排序法
从小到大排序 int[] myArray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 }; // 取长度最长的词组 -- 冒泡法 for( int j=1;j { for(int i=0;i { // 如果 myArray[i] > myArray[i+1] ,则 myArray[i] 上浮一位 if( myArra原创 2004-10-08 10:15:00 · 1211 阅读 · 0 评论 -
题 .NET 中的路径问题!(记号)
今天才碰到的问题: 当选取OPENFILEDIALOG后,程序默认的路径改为OPENFILEDIALOG的文件路径,程序要读写的配置文件原本使用相对路径(如StreamReader file = new StreamReader(“Address.ini“)),然后报错找不到改文件。应该注意:程序中读写文件的地方要注意文件的完整路径,(StreamReader file = ne原创 2004-10-08 10:16:00 · 804 阅读 · 0 评论 -
VB.net编码规范
在开发中保持良好的编码规范是十分重要的。我所采用的新的VB.net编码规范,是一种被证明能明显改善代码可读性,并有助于代码管理、分类的编码规范。采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀,便于记忆变量的用途。下面的介绍这种编码规范。 一、类型级单位的命名 1、类。 以Class声明的类,都必须以名词或名词短语命名,体现类的作用。如: Class Indicator 当类是一个特性(Att原创 2004-10-08 10:11:00 · 820 阅读 · 0 评论 -
C#编写的多生产者多消费者同步问题
// 多个生产者和多个消费者,能生产n个产品的情况using System;using System.Threading;public class HoldIntegerSynchronized{ private int[] buffer; //缓冲区 private int occupiedBufferCount = 0; private int readPositio原创 2004-10-08 10:14:00 · 1533 阅读 · 0 评论 -
制作一个可以输入 IP 地址的控件
准备工作: 1. 首先,打开vs.net,新建一个C#类库项目。如叫 IpBoxControl。 2. 在vs.net 的菜单,“项目”,“添加用户控件”,把这个用户控件取名为IpBox。 3. 把一个Panel从工具箱拖到IpBox的设计视图,取名为panel1,设置panel1的Location为(0,0),Size为(136, 20),BorderSt原创 2004-10-08 10:15:00 · 1150 阅读 · 0 评论 -
C#编写的读者写者问题(公平竞争的读者写者)
// 读者写者问题using System;using System.Threading;public class Book{ private int[] pages; private bool aWriterWait = false; private int readerCount = 0; private object mutex = new Object(); //原创 2004-10-08 10:13:00 · 1504 阅读 · 0 评论 -
C#向Sql Server中插入记录时单引号的处理
Author:David EulerDate: 2004/11/17Email:[email protected] 有任何问题,请与我联系:)ASP.Net种使用C#, 向CoreDB.myBBS表中插入记录值(Title, Content)【文章的标题和内容】,由于Content, Title中可能包含单引号,直接使用sql的insert命令会报错,对此有两种处理方原创 2004-11-26 23:05:00 · 1125 阅读 · 0 评论