C#/.Net
Shine
这个作者很懒,什么都没留下…
展开
-
自定义控件事件
<br /> 做过asp.net的人都知道开发的时候使用用户控件很方便,为功能模块化提供了相当大的灵活性。令人高兴的是开发Windows窗体也可以使用用户控件。这里我们来看看为用户控件添加属性和事件,并实现把消息发送到父容器。本文主要是为没有使用过用户控件的朋友提供一些参考。 <br /> 用户控件的实现比较简单,直接从System.Windows.Forms.UserControl。 <br />public class UserControl1 : System.Wi转载 2011-03-09 11:32:00 · 298 阅读 · 0 评论 -
线程 - C#线程概述及视图解析
C#线程是什么呢?在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示。 如果任务管理器没有“转载 2011-11-11 09:31:18 · 224 阅读 · 0 评论 -
线程-判断线程运行状态的两种方法
判断线程运行状态的方法有很多,如可以采用类似于对象计数器的方法,所谓对象计数器,就是一个对象被引用一次,这个计数器就加1,销毁引用就减1,如果引用数为0,则垃圾搜集器就会对这些引用数为0的对象进行回收。判断线程运行状态方法一:线程计数器线程也可以采用计数器的方法,即为所有需要监视的线程设一个线程计数器,每开始一个线程,在线程的执行方法中为这个计数器加1,如果某个线程结束(在线程执行方法的最转载 2011-11-11 09:39:16 · 1160 阅读 · 0 评论 -
线程-C#线程类的定义实例解析
C#线程类的定义实例://C#线程类的定义实例 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace MyThread { abstract class M转载 2011-11-11 09:37:57 · 258 阅读 · 0 评论 -
反射-C#反射命名空间浅析
学习C#反射命名空间之前我们来看看C#反射的概念,反射是一个运行库类型发现的过程。 通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括给定类型中定义的方法、字段、属性和事件。也可以动态的发现一组给定类支持的借口、方法的参数和其他相关信息如基类、命名空间、数据清单等。C#反射命名空间详细介绍:1.System.Reflection命名空间内的各类型(1) Asse转载 2011-11-11 09:45:34 · 771 阅读 · 0 评论 -
Asp.net页面生存周期
1 Init 事件 页面初始化 初始化设置。 2 LoadViewState 方法 加载视图状态 填充ViewState属性。 3 LoadPostData 方法 处理回发数据 处理传入窗体数据。 4 Load 事件 加载页面 页面控件初始化完成并反映了客户端的数据。 5 RaisePostDataChangedEvent 方法 回发更改通知 引发更改事件。转载 2012-06-19 18:35:55 · 177 阅读 · 0 评论 -
应该设计基类还是借口?
1. A&Can-Do 类型只能继承一个实现,如果派生类不具有与基类型的IS-A关系,就不应该使用基类,而应该使用接口。接口意味着CAN-DO关系。如果多种对象类型都具有CAN-DO功能,就应该使用接口。例如,一个类型能将自己的实例转换成另一个类型(IConvertible),一个类型序列化自己的实例(ISerializable) 等,注意,值类型必须从System.ValeTyp翻译 2012-08-29 10:36:08 · 642 阅读 · 0 评论 -
DataSet 和 List<T> 相互 转换
/// /// 实体类转换成DataTable /// 调用示例:DataTable dt= FillDataTable(Entitylist.ToList()); /// /// 实体类列表 /// public static DataTable FillDataTable(Lis原创 2012-10-17 09:48:31 · 1545 阅读 · 0 评论 -
C# 导出excel-list
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace Utility.Util { public class Ecel {转载 2012-11-29 14:24:19 · 276 阅读 · 0 评论 -
asp.net EXCEL导入
protected void iImport_Click(object sender, EventArgs e) { if (this.fileUpLoad.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { Response.Write("ale转载 2013-01-15 14:23:29 · 210 阅读 · 0 评论 -
js来导出Excel
1.原来直接可以使用js来导出Excel,这个世界简直太奇妙了!把网页中的一个表格(含表格中的内容)复制到Excel的一个Sheet中,具体步骤如下一、 创建一个含有表格的网页1、网页代码如下利用Jscrīpt复制网页中的表格到Excel中.STYLE2 {color: #000000}--> 吉林的长转载 2013-01-16 13:10:17 · 209 阅读 · 0 评论 -
Application,Session,Cookie,ViewState和Cache 区别
在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等。下面分别介绍它们的用法和区别。方法信息量大小作用域和保存时间应用范围保存位置Application任意大小整个应用程序的生命期转载 2013-04-07 16:18:01 · 318 阅读 · 0 评论 -
ASP.NET excel 导出
/// /// 导出EXCEL /// /// /// 当前页 /// 数据源 /// EXCEL标题 /// 过滤字段 public void DataBindTitleExcel(System.Web.UI.Page page, List li原创 2013-07-11 11:24:25 · 216 阅读 · 0 评论 -
C#算法-三角形
static void Main(string[] args) { string str = "*"; for (int i = 0; i <= 6; i++)//控制大小 { Console.Write(str.PadLeft(i + 1));原创 2013-10-11 14:44:14 · 452 阅读 · 0 评论 -
linq- group by
static void Main(string[] args) { var m = new []{ new S{Year = 2000, Month = 1, Day = 10}, new S{Year = 2000, Month = 2, Day = 10},原创 2013-12-24 14:24:15 · 212 阅读 · 0 评论 -
拉姆达表达式
FilterBy:fruit.FilterBy((string name, double price) => name == "banana" && price < 2.00);原创 2014-05-05 18:03:48 · 556 阅读 · 0 评论 -
asp.net 一些face
1.为什么要用存储过程; 因为存储过程是经过编译的程序片段,在数据库启动时已经加载在oracle的cache中了,并且任何人调用它都不会经过重新编译,也不会进行语法分析及最近路径选择等耗时的操作,所以建议多使用原创 2014-06-18 11:59:17 · 154 阅读 · 0 评论 -
线程-并发危险-解决多线程代码中的11个常见的问题
并发现象无处不在。服务器端程序长久以来都必须负责处理基本并发编程模型,而随着多核处理器的日益普及,客户端程序也将需要执行一些任务。随着并发操作的不断增加,有关确保安全的问题也浮现出来。也就是说,在面对大量逻辑并发操作和不断变化的物理硬件并行性程度时,程序必须继续保持同样级别的稳定性和可靠性。 与对应的顺序代码相比,正确设计的并发代码还必须遵循一些额外的规则。对内存的读写以及对共享资源的访问必须转载 2011-11-11 09:52:11 · 471 阅读 · 0 评论 -
线程-多线程(一)
与多线程相关的两个常见的需要解决的问题是:临界资源保护和线程间的同步依赖,每一种语言都提供了自己的一套设施(有的语言可能需要借助OS的API)来解决这两个问题,C#提供了更方便灵活的解决方案,首先C#可以允许我们在不同的级别上加锁,也就是说我们可以控制加锁的粒度。其次,C#提供了一套内置的线程安全的容器,方便我们的使用。一.不同级别(Level)上的同步:1.object level 同步转载 2011-11-11 09:28:02 · 230 阅读 · 0 评论 -
线程-C#线程学习的一点体会和总结
C#线程学习如同在Java中一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。using System.Threading; 开始一个C#线程System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复转载 2011-11-11 09:41:06 · 272 阅读 · 0 评论 -
List(3.5) 函数用法(一)
Listpublic class List : … { public int FindIndex(Predicate match); public int FindIndex(int index, Predicate match); public int FindIndex(int index, int count, Predicate match); public int FindLastIndex(Predicate match); public int FindLastIndex(原创 2011-03-10 09:41:00 · 795 阅读 · 1 评论 -
[转]C# 位操作
<br />位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:<br />· 按位与 & <br />· 按位或 | <br />· 按位取反 ~ <br />· 左移 << <br />· 右移 >><br />· 异或^<br />在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的转载 2011-04-20 13:38:00 · 244 阅读 · 0 评论 -
WINFORM C/S 国际化
using System;using System.Collections.Generic;using System.Text;using System.Reflection;using System.Resources;using System.Thread转载 2011-07-28 10:15:00 · 520 阅读 · 0 评论 -
资源文件在国际化中的运用(WinForm)
国际化的软件往往需要多种语言资源,如何在C#的WinForm中做到呢?且看以下分解:1 工程添加资源文件 资源文件命名方式 [资源文件主题名].[语言区域.].resx 例如资源文件主题名为: "Resource1" 。我们准备了 中转载 2011-07-28 10:12:04 · 308 阅读 · 0 评论 -
C#-List.Sort()-查找最大值与最小值(一)
由于项目的原因用到了List 泛型,Framework都已经到了3.5了。可是我一直都没有正式的用过2.0很是遗憾。特别是对泛型更是一知半解,今天又弄了些资料觉得挺有用就收集到博客上来了。闲话少叙,今天用到的List的Sort功能纯属是从高人那里得来的,只是进行了少量的改转载 2011-09-03 15:14:43 · 4271 阅读 · 0 评论 -
C#-Linq-查找最大值与最小值(二)
/// /// 获取增量客户信息 /// /// public static void RetireveCustomerInc() { DataDict.D原创 2011-09-04 11:19:20 · 5684 阅读 · 0 评论 -
C# 日期格式
C 货币2.5.ToString("C")¥2.50 D 十进制数25.ToString("D5")00025E 科学型25000.ToString("E")2.500000E+005F 固定点25.ToString("F2")25.0转载 2011-08-23 13:44:37 · 516 阅读 · 0 评论 -
c# 中如何操作消息队列
“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证转载 2011-08-30 19:53:04 · 4011 阅读 · 0 评论 -
c# 多线程排队队列实现的源码
using System;using System.Threading;using System.Collections;using System.Collections.Generic;// 将线程同步事件封装在此类中, // 以便于转载 2011-08-30 20:01:16 · 5491 阅读 · 2 评论 -
C# Queue<>
/* 泛型类:Queue * 命名空间:System.Collections.Generic * 描述:表示对象的先进先出集合。 * 类型参数: T --指定队列中元素的类型 * 备注: * 队列容器中的项,只能从先进去的开始删除,不能无规则删除容转载 2011-08-30 20:50:12 · 9409 阅读 · 0 评论 -
C#-关键字-IEnumerable
class Program{ static readonly Person[] peopel = { new Person { Name="xhtmldivcss00", Age= 300 }, new Person原创 2011-08-31 10:12:27 · 2072 阅读 · 0 评论 -
vs 2010 特性 -dynamic
1. try { Type type = Type.GetTypeFromProgID("SAPI.SpVoice"); //动态调用COM if (type != null) { dynamic spVoice = Acti原创 2011-10-28 10:35:36 · 178 阅读 · 0 评论 -
VS 2008 特性
2. Object Initializer、Collection Initializer、Query Syntax、LINQ扩展方法/lambda表达式 IList books = new List{ //Object Initializers new Book{Name="Inside SQL Serv转载 2011-10-28 10:47:23 · 142 阅读 · 0 评论 -
TCP-AcceptSocket
1、叙述有点问题:客户端必须先尝试连接,并且不能操作员手工连接,因为不知道服务器的状态,所以客户端有一个定时连接尝试的timer,当然并非倒计时的Timer。另外一个问题:数据包可能丢失,所以服务器告诉客户端每次-1的做法不可靠,应该是发给客户端当前的秒数。 2、代码:卖过几千元钱的啊 (1) 客户端: public partial class Form1 : Form转载 2011-10-31 17:23:17 · 387 阅读 · 0 评论 -
线程-例子
using System;using System.Threading;class IsThreadPool{ static void Main() { AutoResetEvent autoEvent = new AutoResetEvent(false); Thread regularThread =转载 2011-11-30 11:27:24 · 805 阅读 · 0 评论 -
线程-C#线程操作常见的六大操作方法
C#线程操作常见的操作方法是什么呢?C#线程操作方法的具体实现是什么样子的呢?那么下面我们来看看具体的C#线程操作的六大方法分别是什么,以及他们的特点是什么?C#线程操作一、用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程在C#中使用线程的方法很多,使用委托的BeginInvoke和EndInvoke方法就是其中之一。BeginInvoke方法可以使用线程转载 2011-11-11 09:33:05 · 76 阅读 · 0 评论 -
ASP.NET Web Page的生命周期可以基本分为以下几个阶段
1. Page request 本页面被请求时发生在web page生命周期之前, 当有一个页面被请求时,ASP.NET引擎要判断一下这个页面是否需要经过编译或者直接通过此页面的缓冲版本直接发给请求者。2. Start 在这阶段,Page的Request,Response,IsPostBack,UICulture 属性被适当设置。3. Page ini转载 2014-07-04 10:32:33 · 407 阅读 · 0 评论