
c#
hb0746
这个作者很懒,什么都没留下…
展开
-
C# 制作安装包
C# 制作安装包1 新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。 2 安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成。 3 开始制作 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用转载 2013-04-07 12:06:44 · 967 阅读 · 0 评论 -
如何使用log4net
介绍Log4net是一个开源的组件.可以使.net程序记录日志并输出成各种格式.使用代码Log4net可以提供简便的方式去使用强大的日志功能.步骤如下:1. 获取最新版本的Log4net组件并添加引用到程序提供一个版本下载:http://files.cnblogs.com/xugang/log4net.rar2. 增加以后行到你的AssemblyInfo.cs文件转载 2014-07-01 11:03:17 · 489 阅读 · 0 评论 -
构造函数中base和this的用法与区别
看C#高级编程中关于类的构造函数时候碰到BASE和THIS不懂 看了下这篇文章,不错!代码最具有说服性了,看下面代码吧://代码段一public class ConstructorProgram1 { private string name; public ConstructorProgram1() {转载 2014-07-02 10:42:12 · 544 阅读 · 0 评论 -
ArrayList的使用方法
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口灵活的设置数组的大小2、如何使用ArrayList 最简单的例子:ArrayList List = new ArrayList();for( int i=转载 2014-06-22 22:02:37 · 426 阅读 · 0 评论 -
泛型类型
泛型类 泛型类封装不是特定于具体数据类型的操作。 泛型类最常用于集合,如链接列表、哈希表、堆栈、队列、树等。 像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关。对大多集合类的操作,推荐使用 .NET Framework 类库中所提供的类。 (1)泛型类可以继承具体类、封闭式构造、开放式构造基类。class BaseN转载 2014-06-22 22:15:17 · 558 阅读 · 0 评论 -
IQueryable与IEnumberable的区别
IEnumerable接口公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。也就是说:实现了此接口的object,就可以直接使用foreach遍历此object;IQueryable 接口它继承 IEnumerable 接口,而因为.net版本加入Linq和IQueryable后,使得IEnumerable不再那么单调,变得更加强大和丰富。为了区别两个接口,我转载 2014-06-23 10:45:39 · 678 阅读 · 0 评论 -
数据库中与C#中的数据类型对照
/// 数据库中与C#中的数据类型对照 /// /// /// private string ChangeToCSharpType(string type) { string reval = string.Empty; switch (type.ToL转载 2014-11-11 13:43:57 · 572 阅读 · 0 评论 -
C# LIST和STRING互相转换
List转字符串,用逗号隔开List list = new List();list.Add("a");list.Add("b");list.Add("c");//MessageBox.Show(list.);//LoadModel();string s = string.Join(",", list.ToArray());MessageBox.Show(s);转载 2014-10-15 22:37:34 · 623 阅读 · 0 评论 -
easyui中前台利用js导出显示的datagrid
第一步:添加datagrid 的扩展属性(可以写在通用js文件中)/** Jquery easyui datagrid js导出excel 修改自extgrid导出excel * allows for downloading of grid data (store) directly into excel * Method: extracts d原创 2015-01-09 22:33:19 · 13215 阅读 · 2 评论 -
List<T>,ArrayList,IEnumerable的区别
数据源不只是Ilist这样的,还可能是DataTable或者其他的语言集成查询 (LINQ) 查询适用于实现 IEnumerable)>) 接口或 IQueryable 接口的数据源。DataTable 类不实现上述任何一个接口,因此您必须调用 AsEnumerable 方法来将 DataTable 用作 LINQ 查询的 From 子句中的源。ICollection主要针对静态集合;ILi转载 2014-06-23 15:01:01 · 3571 阅读 · 0 评论 -
Array、ArrayList、List、IEnumerable、for、foreach应用
一、Array 类 (System)声明数组(本身也是一种变量,要先声明再使用)1.声明数组的语法,数组大小由长度绝定;数据类型 [] 数组名;如:string[] student; //字符串型数组int[] month; //整型数组 2.指定数组大小string[] student;转载 2014-06-23 15:09:51 · 865 阅读 · 0 评论 -
在C#中实现Socket端口复用
一、什么是端口复用 因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分。这种多重绑定便称之为端口复用。二、我们如何实现Socket端口复用 其实我们要实现端口复用很简单,我们只要使用SetSocketOption函数设置Socket选项就可以了。MSDN是这样解释的:Soc转载 2013-04-10 14:32:59 · 615 阅读 · 0 评论 -
C# 参考之方法参数关键字:params、ref及out
如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。paramsparams 关键字可以指定在参数数目可变处采用参数的方法参数。在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 示例:转载 2013-04-15 17:51:14 · 441 阅读 · 0 评论 -
C#中while语句的用法与实例
验证输入数据的正确: Console.WriteLine("输入用户名和密码的问题:"); Console.WriteLine("输入用户名:"); string username=Console.ReadLine(); Console.WriteLine("输入密码:");转载 2013-04-16 11:15:36 · 4745 阅读 · 0 评论 -
委托的BeginInvoke和EndInvoke方法(多线程)
一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示。如果任务管理器没有“线程转载 2013-04-17 09:34:05 · 614 阅读 · 0 评论 -
C# 匿名方法和拉姆达表达式
匿名方法本质上是一传递给委托的代码块,是使用委托的另一种方法。规则:1、匿名方法中不能使用跳转语句跳至次匿名方法的外部,反之亦然;匿名方法外部的跳转语句也不能跳转到匿名方法的内部;2、在匿名方法的内部不能访问不安全的代码。另外,也不能访问在匿名方法外部定义的ref和out参数。3、可以使用在匿名方法外部定义的其他变量。拉姆达表达式:就转载 2013-05-23 16:48:44 · 8537 阅读 · 0 评论 -
WinForm窗体间传值
1.通过构造函数特点:传值是单向的(不可以互相传值),实现简单实现代码如下:在窗体Form2中 int value1;string value2;public Form2 ( int value1 , string value2 ){ InitializeComponent ( ); this.value1 = value1; t转载 2014-03-21 10:55:18 · 424 阅读 · 0 评论 -
C# WinForm程序退出的方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临转载 2014-03-20 21:35:54 · 519 阅读 · 0 评论 -
深入理解C#的装箱和拆箱
箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1. 装箱在值类型向引用类型转换时发生 2. 拆箱在引用类型向值类型转换时发生 光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了。 我们先看装箱时都会发生什么事情,下面是一行最简单的装箱代码 object obj = 1; 这行语句将整型常量1赋给object类型的变量o转载 2014-04-22 15:06:52 · 487 阅读 · 0 评论 -
Json序列化和反序列化
/// /// Json测试 /// public class JsonTest : IRun { public void Run() { Student sdudent = new Student(); sdudent.ID = 1; sdudent.Nam转载 2017-12-31 11:21:23 · 1235 阅读 · 0 评论