C#
文章平均质量分 92
happyjlaaa
这个作者很懒,什么都没留下…
展开
-
数组,集合,IEnumerable接口,迭代器
发展:数组-->集合-->泛型(1)数组1. 数组数据结构是System.Array类的一个实例.2. System.Array类的语法为[SerializableAttribute] [ComVisibleAttribute(true)] public abstract class Array : ICloneable, IList, ICollection, IEnumerable3. 下面看转载 2010-03-25 14:48:00 · 288 阅读 · 0 评论 -
ASP.NET MVC 同一View处理多个Model
<br />在開發Asp.net MVC時,有時會遇到一個View需要呈現多個Model資料,<br />這裡我們可以利用Partial View+ViewModels來搞定這樣的需求。<br /> <br />需求:View分別呈現員工基本資料、薪資和權限。<br /> <br />Models:<br /><br />新增Authority、Employee、Salary Class。<br /> <br /> <br />公開相關屬性。<br /> <br />新增ViewModel資料夾:<br /转载 2010-06-10 09:45:00 · 3390 阅读 · 1 评论 -
将Session存入SQLServer实现夸站点访问
<br />(1)建立存放 Session 的 DataBase<br />打开Visual Studio 命令提示工具执行下面的命令,此命令会创建存储Session的数据库ASPState、清除过期Session的作业,以及相应的一些存储过程。<br />D:/Microsoft Visual Studio 9.0/VC>aspnet_regsql -S 192.168.4.188 -U sa -P dianji<br />an@2010 -ssadd -sstype p<br />会话数据保原创 2010-08-06 10:04:00 · 1185 阅读 · 0 评论 -
让你一次性搞定堆、栈、值类型、引用类型…
<br />在.NET中或许我们不用担心内存管理以及垃圾回收器(Garbage Collection GC)的问题,但是我们还是应该了解这些东东以便在必要的时候优化我们程序的性能。而且,如果对内存管理如何工作有所了解,那将有助于解释我们每个程序里的每个变量的运行规律。这篇文章主要内容是解释堆(Heap)和栈(Stack),各种变量以及这些变量到底是如何工作的。<br /><br />.Net Framework 在执行代码时,有两个用来存储对象的地方,也就是堆和栈,用于帮助执行我们的代码转载 2010-08-06 09:52:00 · 557 阅读 · 0 评论 -
深入解析Hashtable、Dictionary、SortedDictionary、SortedList
<br />在《在线用户实体缓存解决方案》方案中使用Dictionary来存储,评论里同事说SortedDictionary采用二分法查找比Dictionary快,于是我们都做了测试,最后发现Dictionary是比SortedDictionary快的,前者用的是Hash算法,而后者是RB-Tree算法。<br />于是想深入地分析如题的4个字典的原理。<br />我们先看Hashtable。<br />MSDN的解释:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。<br />Hash算法是把任转载 2010-06-08 21:51:00 · 749 阅读 · 0 评论 -
扩展方法详解
<br />一、基础<br />扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。扩展方法是可以通过使用实例方法语法调用的静态方法。效果上,使得附加的方法扩展已存在类型和构造类型成为可能。他可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法。扩展方法有助于把今天动态语言中流行的对快速录入支持的灵活性,与强类型语言之性能和编译时验证融合起来。这里先举一个msdn中的转载 2010-06-08 21:50:00 · 244 阅读 · 0 评论 -
在线用户实体缓存解决方案
<br />随着网站访问量的增加,在线用户实体信息的存储方式变得重要起来。存储在线用户的信息一般有这三种方案:<br /> 1、用户的实体信息保存在Session里,简单方便,随着Session的过期用户信息自动过期。<br /> 2、用户信息保存在数据库中,用一个表存储在线的用户信息。<br /> 3、用户信息保存在内存。<br /> 当前项目用的是第一种方法,把用户的实体信息保存在Session中,虽然使用方便,但总感觉很别扭。Discuz!NT使用的是第二种方法,把在线转载 2010-06-08 21:53:00 · 308 阅读 · 0 评论 -
C#中泛型的优点
泛型主要有以下几个优点:1.性能高:定义数据类型,不需要类型转换,避免拆装箱带来的性能损失;2.类型安全:定义允许使用的数据类型,在编译时检查类型错误,及早发现错误。TestT.cs: 程序代码using System;using System.Collections;using System.Collections.Generic;namespace Magci.Test.Colle转载 2010-05-30 15:03:00 · 792 阅读 · 0 评论 -
为什么需要override和new两种多态方案
溯因推理是指根据事物发展过程所造成的结果。推断形成结果的一系列原因的整个逻辑思维过程,通俗的说就是从已知结果推断其原因的一种思维方式,其目的是得到一个最佳的解释,是一种典型的由果及因的方式。在逻辑结构上,它包括以下要素:n 观察现象陈述n 导致观察现象的可能原因即猜测性假说在C#的面向对象中,override是使用比较多的关键字。但你是否知道为什么需要这两个关键字,并且当子类类型转为基转载 2010-05-27 20:43:00 · 331 阅读 · 0 评论 -
Entity Framework在三层架构中的使用
本系列的前3篇文章已经向大家介绍了如何使用Entity Framework4(以下简称EF4)创建数据库并进行增删改查操作,还介绍了存储过程的调用方法。在以前的例子中,我们没对代码进行分层,只是简单的介绍实现各种操作的方式。今天我们就来谈谈在三层架构中使用EF4 ,想必很多人已经对三层有过了解。 当然,三层不一定适合所有应用开发,但分层的思想是值得借鉴的。本文所有的Web页面都和以前一样,转载 2010-05-19 22:44:00 · 1361 阅读 · 1 评论 -
堆和栈
当你声明一个变量时内存中都发生了什么? 当你在一个.Net应用程序中声明一个变量时,首先要分配一些内存快到RAM,它包括三样东西,第一个是变量名,第二个是变量的数据类型,最后一个是变量的值。 这只是一个很简单的解释,根据变量的数据类型不同,有两种内存分配类型:堆栈内存和堆内存。图2 声明变量后的内存结构 堆栈(stack)和堆(heap) 为了帮助理解堆栈和堆,让我们了转载 2010-05-19 20:34:00 · 1056 阅读 · 0 评论 -
Web Service实现原理与异步调用
net2.0环境下,Web service中的每个方法,在Client端添加引用后生成的代理类中都会产生相应的异步方法和结束事件。我们可以利用这个异步方法和事件,轻松实现异 步调用web service. 简单范例 假设在web service中定义了一个数据查询的方法:ITPUB个人空间M8j+UrNX AGmDY7l Obe0[WebMeth转载 2010-05-19 20:38:00 · 520 阅读 · 0 评论 -
c# asp.net 获取客户端表单的数据
在web程序中,经常会使用在一个网页使用其他网页提交的数据信息,这里可以使用Request内置对象来完成,来获取用户提交的信息,根据客户端提交数据方式的不同,Request对象分别使用Form和QueryString集合属性来获取数据。下面是两种集合获取方式的不同点:通过Form获取数据时在form属性中简单的添加action=“跳转的网页地址”, ,该传参方式是隐式的,不容易暴露;另一种方式是通转载 2010-05-19 20:35:00 · 3651 阅读 · 0 评论 -
.NET中六个你必须知道的重要概念
当你声明一个变量时内存中都发生了什么? 当你在一个.Net应用程序中声明一个变量时,首先要分配一些内存快到RAM,它包括三样东西,第一个是变量名,第二个是变量的数据类型,最后一个是变量的值。 这只是一个很简单的解释,根据变量的数据类型不同,有两种内存分配类型:堆栈内存和堆内存。图2 声明变量后的内存结构 堆栈(stack)和堆(heap) 为了帮助理解堆栈和堆,让我们了转载 2010-05-06 08:58:00 · 235 阅读 · 0 评论 -
进程、应用程序域、程序集、对象上下文
简单的说,进程可以承载一组相关的.NET程序集,而应用程序域(简称AppDomain)是对该进程的逻辑细分。一个应用程序域进一步被细分成多个上下文边界,这些边界用来分组目的相似的.NET对象。使用上下文的概念,CLR便能够确保恰当地控制那些带特殊运行时要求的对象。传统的进程用来描述一组资源和程序运行所必需的内存分配。对于每个被加载到内存的可执行程序,在她的生命周期中操作系统会为之单独且隔离转载 2010-04-07 10:20:00 · 241 阅读 · 0 评论 -
C#序列化和反序列化
定义:序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 作用:1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据 实现方法:BinaryFormatter、SoapFormatter、XML序列化一、BinaryF原创 2010-04-13 09:35:00 · 311 阅读 · 0 评论 -
IEnumerable与IEnumerator区别
来源:http://www.cnblogs.com/illele/archive/2008/10/31/1164696.htmlpublic interface IEnumerable{ IEnumerator GetEnumerator();} public interface IEnumerator{ bool MoveNext(); void Reset();转载 2010-03-25 14:57:00 · 139 阅读 · 0 评论 -
Visual Studio .NET中的XML Web services入门
<br />Visual Studio .NET中的XML Web services入门<br /><br />Rob Caron<br /><br />Visual Studio Team<br /><br />Microsoft Corporation<br />2002 年 2 月<br />摘要:Microsoft? Visual Studio? .NET 和 XML Web services 提供了一个简单、灵活且基于标准的模型,开发人员无论使用何种平台、编程语言或对象模型均可以编转载 2010-10-20 13:59:00 · 939 阅读 · 0 评论