
C#
adagadadfafd
暂时不知道说什么,以后再慢慢补上
展开
-
C#.NET把数据导出EXCEL
<br /> public void CreateExcel(DataSet ds,string typeid,string FileName) <br /> { <br /> HttpResponse resp; <br /> resp = Page.Response; <br /> resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); <br /> resp.Ap转载 2010-07-13 10:36:00 · 719 阅读 · 0 评论 -
用 ASP.NET MVC 实现基于 XMLHttpRequest long polling(长轮询) 的 Comet
之前在“反向Ajax,第1部分:Comet介绍”(英文版)文章中学习了“基于 Multipart XMLHttpRequest 的 Comet”的知识,然后用 ASP.NET MVC 实现了一个,详见用 ASP.NET MVC 实现基于 Multipart XMLHttpRequest 的 Comet。今天继续学习了基于 XMLHttpRequest long polling转载 2012-05-03 13:03:30 · 1345 阅读 · 0 评论 -
Hashtable的两种同步方法(C#)
多个线程同时对 Hashtable 进行添加或删除操作,可能会引起 Hashtable 的错误,所以对它进行同步是必不可少的。同步的方法都有哪些呢? 1、使用 Hashtable.Synchronized 同步 Hashtable ht = new Hashtable(); ht = Hashtable.Synchronized(ht); 或者一步实现:转载 2012-05-03 09:59:51 · 3702 阅读 · 0 评论 -
不要迷失在技术的海洋中
技术就好像一片汪洋大海,越深入越望不到边际。就拿自己的体验来说吧,2000年的时候在学校搞ASP,觉得网页开发就是这么简单,把数据库中的数据格式化一下显示在页面上,把用户的输入组装成添加删除和修改的SQL提交到数据库中去。几年后的今天,我对自己了解或听说过的ASP.NET相关(注意:仅仅是ASP.NET或者说网站制作相关)技术列了一下: 在这些语言、技术、工具、理念中,每转载 2012-04-06 08:07:41 · 703 阅读 · 1 评论 -
.net中实现C#源码和数据库脚本语言的解藕
在开发过程中,如果开发语言能和页面脚本语言javascript、数据库脚本语言sql(以下简称SQL)等进行解藕的话,我想这是一个很不错的习惯。 在这里以C#开发语言为准,讲述C#和SQL如何进行解藕。当然,在.net体系中提供了linq开发功能,把数据库脚本语言当成开发语言的一部分,不过linq毕竟只支持sql server数据库。 C#开发语言和SQL进行解藕的原创 2012-04-05 17:19:15 · 1119 阅读 · 0 评论 -
一个C#编写的snmp程序,可使网络管理人员进行参考、开发-A C# Prepared snmp procedures, will enable network managers to carry o
using System;using System.Collections;using SNMPDll;namespace TestSNMPDll{ /// ry> /// Summary description for Class1. /// mary> class Class1 { /// summary> /// The main entry point for转载 2011-01-07 09:04:00 · 2162 阅读 · 0 评论 -
Net性能优化总结
NET性能优化方面的总结 1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1 避免转载 2012-03-01 13:46:23 · 613 阅读 · 0 评论 -
.NET中lock的使用方法及注意事项
lock就是把一段代码定义为临界区,所谓临界区就是同一时刻只能有一个线程来操作临界区的代码,当一个线程位于代码的临界区时,另一个线程不能进入临界区,如果试图进入临界区,则只能一直等待(即被阻止),直到已经进入临界区的线程访问完毕,并释放锁旗标。其基本使用方式如下:[c-sharp] view plaincopyclass Test转载 2012-02-20 11:02:06 · 782 阅读 · 0 评论 -
C#委托——哪里用得着?
初学.Net的同学们,我们常常会有这样一种感觉,对于一项技术,或者一个方法,我们都知道它很有用,可就是用不着,或者说,并不知道什么地方能用的上,所以,技术学会了,却用不上,也就无法深入。时间一长,就容易忘,结果就是,这个我学过,那个我也懂,可是我就不会用。。。 这博客园的第一篇博文,就从C#委托开始吧。 前段时间,做了一个局域网通讯工具的项目,在其中涉及到修改个人资料的模块上,转载 2012-05-16 15:05:29 · 913 阅读 · 0 评论 -
NorthScale Memcached Server的.NET客户端NorthScaleClient使用简介
博客园已经全面使用NorthScale Memcached Server,用下来感觉不错。下面简单分享一下.NET客户端的使用方法。NorthScale Memcached Server官方推荐的.NET客户端是EnyimMemcached。EnyimMemcached有两种方式可以访问NorthScale Memcached Server:1) Enyim.Caching.Mem转载 2012-05-22 11:45:58 · 1022 阅读 · 0 评论 -
.NET中六个你必须知道的重要概念之值类型和引用类型
很多人现在可能要问为什么要设置两种内存分配形式呢?难道就不能用一种内存分配形式完成内存分配吗? 如果你仔细观察上图,你就会知道int变量是分配在堆栈上的,因为编译器已经知道它们可以存储多少数据(-2,147,483,648到2,147,483,647),涉及到对象时,编译器不知道需要多少内部空间,因此在堆上分配相同大小的空间。 换句话说就是,如果不知道数据大小或是动态变化的,就转载 2012-11-28 22:23:59 · 759 阅读 · 0 评论 -
.NET中六个你必须知道的重要概念之堆栈(stack)和堆(heap)
当你声明一个变量时内存中都发生了什么? 当你在一个.Net应用程序中声明一个变量时,首先要分配一些内存块到RAM,它包括三样东西,第一个是变量名,第二个是变量的数据类型,最后一个是变量的值。 这只是一个很简单的解释,根据变量的数据类型不同,有两种内存分配类型:堆栈内存和堆内存。图2 声明变量后的内存结构 堆栈(stack)和堆(heap) 为了帮转载 2012-11-28 22:13:37 · 2643 阅读 · 0 评论 -
你必须知道的25个C#基础概念
1.静态变量和非静态变量的区别? 静态变量:静态变量使用 static 修饰符进行声明 ,在所属类被装载时创建,通过类进行访问,所属类的所有实例的同一静态变量都是同一个值。非静态变量:不带有static 修饰符声明的变量称做非静态变量,在类被实例化时创建,通过对象进行访问,同一个类的不同实例的同一非静态变量可以是不同的值。2.const 和 static readonly转载 2012-11-28 21:57:25 · 621 阅读 · 0 评论 -
.NET中六个你必须知道的重要概念之装箱(boxing)和拆箱(unboxing)
说了这么多,在实际编程时怎么使用它们呢?最大的问题是要弄清楚数据从堆栈移到堆的性能损失,反之亦然。 如下图所示,当我们将一个值类型移到引用类型时,数据也从堆栈移到堆中,当我们将引用类型移到值类型时,数据就从堆移到堆栈中。数据从堆栈移到堆,或是从堆移到堆栈,都会产生较大的性能损失。数据从值类型移到引用类型的过程叫做装箱,从引用类型移到值类型叫做拆箱。图 8 装箱和拆箱过程示意转载 2012-11-28 22:43:19 · 788 阅读 · 0 评论 -
传统编程和.net plinq
原创 2012-02-17 11:37:16 · 603 阅读 · 0 评论 -
新版.Net开发必备十大工具
几年前MSDN上的一篇文章《Ten Must-Have Tools Every Developer Should Download Now》中介绍了.NET开发中必备的十大工具,几年过去之后,.NET Framework发展到了3.5版本,这些工具中,有些已经转向商业化,有些因为推出了新的工具而已经停止了开发,有些则继续免费提供给开发者使用。 笔者对.NET开发中必备的十大工具重新做转载 2012-08-17 15:57:23 · 1985 阅读 · 0 评论 -
net和java的几种数据转换
Xml Java:SAX,Dom4j .Net:System.Xml.LinqJson Java:org.json .Net:Newtonsoft.Json,System.JsonProtoBuf Java:ProtoBuf .Net:ProtoBuf.Net转载 2012-01-04 13:49:54 · 531 阅读 · 0 评论 -
各大主流.Net的IOC框架性能测试比较
在上一篇中,我简单介绍了下Autofac的使用,有人希望能有个性能上的测试,考虑到有那么多的IOC框架,而主流的有:Castle Windsor、微软企业库中的Unity、Spring.NET、StructureMap、Ninject等等。本篇文章主要针对这些IOC框架编写测试程序。 Autofac下载地址:http://code.google.com/p/autofac/Cast转载 2012-07-02 15:03:07 · 781 阅读 · 0 评论 -
C#直接打印word文档
using using Microsoft.Office.Interop.Word; (通过添加引用-com组件,找office的word组件 /// /// 打印word /// /// word文件路转载 2011-08-30 17:40:20 · 3393 阅读 · 0 评论 -
C#计算程序运行时间
var sw = new Stopwatch(); //使用Stopwatch类计算 sw.Reset(); //重置测量时间 sw.Start(); //开始计原创 2011-08-09 10:31:51 · 664 阅读 · 0 评论 -
数组、集合的接口和枚举介绍
<br />5.5 数组和集合接口<br />Array类实现了IEumerable、ICollection和IList接口,以访问和枚举数组中的元素。由于用定制数组创建的类派生于Array抽象类,所以能使用通过数组变量执行的接口中的方法和属性。5.5.1 IEumerable接口<br />IEumerable是由foreach语句用于迭代数组的接口。这是一个非常特殊的特性,在下一节中讨论。5.5.2 ICollection接口<br />ICollection接口派生于IEumerable接口,转载 2011-01-05 17:00:00 · 901 阅读 · 0 评论 -
访问修饰符(C# 编程指南)
<br /><br />所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们。您在声明类型或成员时使用以下访问修饰符之一来指定其可访问性:public<br />同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。private<br />只有同一类或结构中的代码可以访问该类型或成员。protected<br />只有同一类或结构或者派生类中的代码可以访问该类型或成员。internal<br />同一程序集中的任何代码都可以访问该类型或成原创 2010-12-03 08:46:00 · 529 阅读 · 0 评论 -
asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
用 asp.net获取当前网页地址的一些信息。 设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli"http://"是协议名 "www.jb51.net"是域名 "aaa"是站点名 "bbb.aspx"是页面名(文件名) "id=5&name=kelli"是参数 【1】获取 完整url (协议名+域名+站点名+文件名+参数) string url=Request.Url.ToString(); url= http://www.jb51.net转载 2010-08-05 14:53:00 · 711 阅读 · 0 评论 -
使用XmlReader读取xml文件
在.net开发中经常需要读写xml形式的文件(app.config和web.config分别是WinForm和WebForm中使用到的xml文件的一个特列,并且微软提供了通用的方法,在此就不赘述了), .net类库提供了多种读写xml文件的方式,每一种方式都有其优点和缺点,因而有其实用性。下面列出微软.net类库提供的读写xml文件个类及其特点:类名称优点缺点XmlReader快速、高效、可扩展只读,只向前,需要人工验证XmlDocument可往返、可读写、支持XPath筛选比XmlReader慢XPath转载 2010-07-28 17:01:00 · 634 阅读 · 0 评论 -
ASP.NET把图片上传到数据
<br />SQL脚本语言:<br />if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ImageStore]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)<br />drop table [dbo].[ImageStore]<br />GO<br /> <br />CREATE TABLE [dbo].[ImageStore] (<br /> [ImageI原创 2010-07-24 16:20:00 · 662 阅读 · 0 评论 -
ASP.NET通过HTML的上传文件标签来上传文件
<br />HTML代码:<br /><%@PageLanguage="C#"%><br /><%@ImportNamespace="Platform.UserControl"%><br /><!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /> <br /><htmlxmlns="http://www.w3.org/原创 2010-07-24 14:44:00 · 648 阅读 · 0 评论 -
.NET反射机制简介
<br /> .NET反射机制为创建对象和调用其他方法提供了替代方案。比如为了提高代码的灵活性。但是问题确是我们要编写更多的代码来实现。<br />使用反射机制是有一些缺点的。其最大的缺点就是编译器无法对对象进行类型检查,此时IDE的智能感知将无能为力。但是他的真正优势又在什么地方呢?它提供了一种手段,将指定具体类推迟到了运行时刻。<br />使用反射机制调用方法的四步曲:<br />1 加载程序集<br />2 获取类的类型<br />3 创建该类的实例<br />4 调用该实例的方法<br /转载 2010-07-10 11:58:00 · 755 阅读 · 0 评论 -
.NET反射机制简介
.NET反射机制为创建对象和调用其他方法提供了替代方案。比如为了提高代码的灵活性。但是问题确是我们要编写更多的代码来实现。使用反射机制是有一些缺点的。其最大的缺点就是编译器无法对对象进行类型检查,此时IDE的智能感知将无能为力。但是他的真正优势又在什么地方呢?它提供了一种手段,将指定具体类推迟到了运行时刻。使用反射机制调用方法的四步曲:1 加载程序集2 获取类的类型3 创建该类的实例4 调用该实例的方法System.Reflection.Assembly类中有两个静态方法Assembly.Loa转载 2010-07-10 11:58:00 · 439 阅读 · 0 评论 -
运算符和类型强制转换
<br />第6章 运算符和类型强制转换<br />前几章介绍了使用C#编写程序所需要的大部分知识。本章将首先讨论基本语言元素,接着论述C#语言的扩展功能。本章的主要内容如下:<br />● C#中的可用运算符<br />● 处理引用类型和值类型时相等的含义<br />● 基本数据类型之间的数据转换<br />● 使用装箱技术把值类型转换为引用类型<br />● 通过强制转换技术在引用类型之间转换<br />● 重载标准的运算符,以支持对定制类型的操作<br />● 给定制类型添加强制转换运算符,以支持转载 2011-01-05 18:53:00 · 3340 阅读 · 0 评论 -
分布式缓存系统Memcached简介与实践 基于 .NET
<br />分布式缓存系统Memcached简介与实践<br />缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。此时Memcached或许是你想要的。<br /><br />Memcached是什么?<br />Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速转载 2011-01-06 10:19:00 · 909 阅读 · 0 评论 -
.net IL 指令速查
名称说明Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈上。Arglist返转载 2011-07-28 14:25:45 · 791 阅读 · 0 评论 -
提高反射的调用性能
都说Reflection的性能相当差,但是非用不可的时候也得用,下面是提高反射效率的一个办法。 要被反射调用的类都实现一个接口,调用的那个类引用这个接口,将反射得来的类都转换为这个接口,然后直接调用,没有必要所有的方法都反射。 公用的接口代码: namespace CommonI转载 2011-07-27 16:23:21 · 632 阅读 · 0 评论 -
C#动态执行字符串
在编写C#程序的时候,有时我们需要动态生成一些代码并执行。然而C#不像JavaScript有一个Eval函数,可以动态的执行代码。所有这些功能都要我们自己去完成,在参考了许多文章及代码之后,觉得http://www.codeproject.com/csharp转载 2011-07-05 16:11:23 · 619 阅读 · 0 评论 -
C#反射机制
<br /><br />反射的概述: <br /> 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。<br /> System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 <br /><br />System.Reflection.Assembly <br />System.Reflection转载 2011-05-18 13:56:00 · 537 阅读 · 0 评论 -
枚举(enum)的常用操作
<br /><br />定义一个枚举用作后面的例子<br />enum EnumName{<br /> Red = 1,<br /> Green,<br /> Blue = 4,<br /> White = 8,<br /> Black = 16<br />}<br /> <br />枚举与符号、值的转换<br />EnumName en = EnumName.Green;<br />//1.枚举转值<br />int enValueInt = (int)en; // e转载 2011-05-16 13:04:00 · 1301 阅读 · 0 评论 -
什么是.NET的程序集?
<br /><br /> 程序集是 .NET 框架应用程序的主要构造块。它是一个功能集合,并以单个实现单元(一个或多个文件)的形式生成、版本化和部署。所有托管类型和资源或者只在其实现单元中标记为可访问,或者在该单元外由代码标记为可访问。<br />程序集通过其清单(每个程序集不可缺少的部分)进行自我描述。<br /><br /> 建立程序集标识(以文本名称的形式)、版本、区域性和数字签名(如果程序集将在应用程序间共享)。<br />定义组成程序集实现的文件(按名称和文件散列)。<br />指定组成程序转载 2011-05-16 11:42:00 · 1270 阅读 · 0 评论 -
C#的MainString args参数输入问题
<br /><br />1.新建一个控制台应用程序,保存在桌面上,Main函数如下所示<br /> using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br /><br />namespace ConsoleApplication1<br />{<br />class Program<br /> {<br />staticvoid Main(string转载 2011-01-11 20:56:00 · 728 阅读 · 0 评论 -
.NET下实现分布式缓存系统Memcached
<br /> <br />【IT168 技术文档】在Web应用程序中,数据通常保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负载加重、数据库响应变慢、网站显示延迟等重大影响。为了缓解数据库的压力,提升Web应用程序的响应速度,人们提出了Web缓存的概念,这里缓存的概念不同于计算机硬盘控制器上的一块内存芯片。Web缓存位于Web服务器(1个或多个,内容源服务器)和客户端之间(1个或多个),缓存会根据进来的请求保存输出内容的副本,例如htm转载 2011-01-06 11:01:00 · 3040 阅读 · 1 评论 -
C# 中的默认命名空间的范围 (LINQ to XML)
XML 树中表示的默认命名空间不在查询范围内。如果您的 XML 在默认命名空间内,仍须声明一个XNamespace 变量,并将该变量与本地名称组合在一起,生成一个限定名,在查询中使用。查询 XML 树时遇到的一个最常见问题是,如果 XML 树具有默认命名空间,开发人员在编写查询时,有时会将 XML 视为不在命名空间内。本主题的第一个示例集演示一种加载但是按不正确方式查询默认命名空间转载 2013-01-11 16:43:03 · 1267 阅读 · 0 评论