随笔分类 -  C#

1 2 下一页

无所不能的C#
论C#逼格手册
摘要:水文。如何让自己的代码看起来,更有逼格?要想让自己的代码,看起来更优雅,更有逼格,更高大上,就一定要写出晦涩难懂,而又简洁的代码来。对于类自身的全局变量,一定要加this,对于基类的,一定要加base。反射不要多,但一定要有,而且偶尔就来上那么一两个。接口,抽象类,抽象方法一定要懂得利用。可以的话,... 阅读全文

posted @ 2015-10-12 10:58 咖啡色 阅读(339) 评论(0) 推荐(0)

这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)
摘要:在上个月发表的一篇文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧,得到了很多朋友的响应。同时也有很多朋友直接进行使用,反应非常棒,虽然不是每一个都用得上,只要有一个用得上,其实也不错了,其他的就留着收藏,以后说不定用得上。最近再次整理一些比较实用的.NET开源组件,如果大家有兴趣... 阅读全文

posted @ 2015-06-08 13:00 咖啡色 阅读(566) 评论(0) 推荐(0)

Entity Framework where语句起作用的真正用法
摘要:之前对Entity Framework的理解不深,只是图方便,作为linqtosql的替代,但是碰到数据库内容非常多(10万-100万条)时,分页效率很低,用 profiler查看sql语句,才发现其竟然是一次性读取全部数据到内容,然后再执行where之后的语句,真是恐怖。在网上查询很久,终于发现以... 阅读全文

posted @ 2014-07-03 15:22 咖啡色 阅读(1256) 评论(0) 推荐(0)

[转]SqlServer 表分区详细介绍
摘要:分区请三思:1 虽然分区可以带来众多的好处,但是同时也增加了实现对象的管理费用和复杂性。因此在进行分区之前要首先仔细的考虑以确定是否应为对象进行分区。2 在确定了为对象进行分区后,下一步就有确定分区键和分区数。要确定分区数据,应先评估您的数据中是否存在逻辑分组和模式。3 确定是否应使用多个文件分组。为了有助于优化性能和维护,应使用文件组分离数据。文件组是数据库文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发访问效率。为了简化操作,Sqlserver2008中为表分区提供了相关的操作。操作顺序:1 先定义文件组2 指定哪些辅助数据库文件属于这个文件组。3 将表放入到文件组 阅读全文

posted @ 2013-03-29 16:50 咖啡色 阅读(592) 评论(0) 推荐(1)

解决.net绘制的 WinForm 在 windows7下变形的方法
摘要:问题描述:一个winform的系统,我和同事通过vss共同开发,同事的系统是XP,我的系统是windows7,开发工具都是vs.net2008 sp1。奇怪的是程序的主界面在同事的机器上正常,在他的vs.net设计视图中也显示正常,而到了我这里有的控件高度比设定的高度多出1-8个像素,f5运行也和实际效果不一样比实际效果大,查看 frmBase.designer.cs,里面控件的高度确实是原先设置的正确高度,但把vs.net切换到设计视图,这个控件高度就变大了,从“属性”窗口中看它的值也变大了。以前也出现过这种问题,最后在我的机器(windows7)下重新调整各控件的高度,这才使软件在xp和w 阅读全文

posted @ 2012-09-19 21:38 咖啡色 阅读(824) 评论(0) 推荐(0)

Entity Framework 连接 mysql 5.0出现的问题及解决方案
摘要:前两天在godaddy上发布使用MySql和Entity Framework做的网站时,遇到了Security Exception,显示如下面的错误信息:SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] System.Reflection.MethodBa 阅读全文

posted @ 2012-06-29 09:43 咖啡色 阅读(480) 评论(0) 推荐(0)

VSTO开发中VS2010和Office 2003的问题及解决方案
摘要:因为公司需要,将以前的VSTO项目升级为Net4.0环境,用VS2010开发,结果悲剧了,VS2010的VSTO不支持Office2003,Google了一番,在博客园找到这篇文章,VSTO开发中VS2010和Office 2003的问题,明确说明Office2003已经不被支持,建议升级到Office07或10。不过如果想继续兼容Office2003,文中给出了另外两种方法:使用Extensibility建立插件或者使用COM Shim Wizards辅助托管程序的开发。本文则成功实现Extensibility建立插件的方法,供大家参考。1 添加Extebsibility的引用首先用VS20 阅读全文

posted @ 2012-02-10 16:41 咖啡色 阅读(2053) 评论(0) 推荐(2)

如何使用缓存提高程序性能
摘要:1 写在前面此文主要参考了园子里以下两篇文章:黄聪,Microsoft Enterprise Library 5.0 系列(一) : Caching Application Block (初级)顾磊,[EntLib]微软企业库5.0 学习之路——第四步、使用缓存提高网站的性能(EntLib Caching)2 前面两篇博文写的很好,很全面,为何还需要本文?大家可以点进去看下前面的文章,黄聪写的是企业库Cache的基本用法,顾磊的文章比较深入,而且自定义了CacheHelper类,实用性更强,我也抄袭了这个类(^_^ )。我写此文的目的主要是记录下如果在项目中引入操作Cache、缓存哪些内容及最 阅读全文

posted @ 2011-12-31 13:27 咖啡色 阅读(3017) 评论(11) 推荐(4)

复习一下,免得下次面试又栽在沟里~
摘要:1. Const 和 Readonlyreadonly为运行时常量,const为编译时常量编译时常量被运行时常量快,性能好,但是缺乏灵活性(编译时常量需要重新编译应用程序);编译时常量(const)仅限于数值和字符串(基元类型),C#不允许使用new来初始化一个编译时常量;const修饰的常量默认是静态的(类型);readonly修饰的字段可以在构造函数中被修改;使用const较之使用readonly的唯一好处就是性能 详细:首先先解释下什么是静态常量以及什么是动态常量。静态常量是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。而动态常量的值则是在运行的那一刻才获得的,. 阅读全文

posted @ 2011-06-24 19:06 咖啡色 阅读(554) 评论(2) 推荐(0)

The project file ' ' has been renamed or is no longer in the solution. 解决方案
摘要:问题:昨天因为急着下班,在关闭VS2008的时候卡住了,然后用任务管理器,强制结束VS2008进程,导致今天早上来公司发现网站无法编译,错误提示:---------------------------Microsoft Visual Studio---------------------------The project file ' ' has been renamed or is no longer in the solution.---------------------------OK ---------------------------在google后,解决方法如下 阅读全文

posted @ 2011-02-23 09:59 咖啡色 阅读(1054) 评论(0) 推荐(0)

[转]linq to sql 插入值,以及如何取回自增的ID
摘要:linq to sql 在插入值的时候还是很方便。有时候我们需要在插入一个新的实体之后得到那个实体的主键ID的值,这个ID当然必须是自增。一段时间我一直认为直接使用 linq to sql的插入机制是不可以在做到的,所以只有使用存储过程的,具体可以查看这篇文章:http://blog.benhall.me.uk/2008/01/custom-insert-logic-with-linq-to-sql.html,但是总是觉得这样太麻烦了。通过观察linq to sql插入之后产生的sql发现,它自动生成了两条语句,一条insert,一条select,而且那条select正好就是查询的最后生成的 阅读全文

posted @ 2011-02-11 09:33 咖啡色 阅读(362) 评论(0) 推荐(0)

用户权限与角色设计
摘要:User and Rol Matance e Data Design Table Name UserRole relations of user and role Column note DataType IsNull Key id Auto int NOT NULL PRIMARYKEY userGroupId Int NOT NULL not roleGradeId int NOT NULL Not addition no Table Name UserGroup Column note DataType IsNull Key id Auto int NOT NULL PRIMARYKEY 阅读全文

posted @ 2010-12-08 12:21 咖啡色 阅读(609) 评论(0) 推荐(0)

C# 使用GDI画坐标图(支持负值)
摘要:因为项目需要,使用GDI画一个全坐标系统图,并嵌入PDF文件,方便打印。效果图如下:一般的坐标图仅有右上的四分之一,此图则是全坐标的,输入是四个点的坐标,可以是负值。代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--Bitmapbitmap=newBitmap(this.Width,this.Height,PixelFormat.Format24bppRgb);Graphicsg=Graphics.FromImage(bitmap);//G 阅读全文

posted @ 2010-12-06 14:59 咖啡色 阅读(3178) 评论(0) 推荐(1)

Flex4 Net服务端内存数据管理
摘要:使用Flex+net开发程序,但还是停留在原来的web习惯上,想用session之类存储一个后台数据,但是,使用的不是webservice 方式,而且remoting方式,所以服务端没有session,那该怎么存储服务端的数据呢?当然是暂存,因为还没必要立刻插入到数据库中。考 虑了好久,也google&baidu了好久,始终不得解。后来觉得是不是我的想法有问题,或许现在改用flex做前台,... 阅读全文

posted @ 2010-12-03 18:55 咖啡色 阅读(1545) 评论(3) 推荐(0)

Converting Linq result to XML String
摘要:linq查询得到的结果为Entity,返回给FLex需要转换成XML格式(我目前用的webservice的笨方式),所以需要将Entity转换成XML,本来以为有直接的转换方法,Goo了好久,发现有个老外和我想的一样:先将Entity填充到一个DataSet中,然后利用DataSet的GetXml来返回,呵呵,够麻烦的,应该会有更好的方法,但是我还不知道,先将就着用这个方法了。 var q = d... 阅读全文

posted @ 2010-10-11 19:35 咖啡色 阅读(201) 评论(0) 推荐(1)

实现高效的数据库连接池(附带完整代码C#和Java实现)(转)
摘要:相关技术:连接池 引用记数 多线程 C#.Net Java 适宜人群数据库应用程序程序员 系统分析员 模块设计师 有一定功底的程序员 目录引言 数据库连接池(Connection Pool)的工作原理 连接池关键问题分析 并发问题 事务处理 连接池的分配与释放 连接池的配置与维护 关键议题引用记数如何实现事务处理管理连接池结合代码说明构造方法启动服务StartService停止服务StopServ... 阅读全文

posted @ 2009-10-28 15:27 咖啡色 阅读(804) 评论(0) 推荐(0)

为WinForms程序添加Form级快捷键的最简单方式
摘要:Form.KeyDown, KeyUp, KeyPress在给程序添加快捷键时都不好使,因为某些控件会拦截按键信息,比如你在Form上放一个Button,把焦点移到它上面,随便按个什么键,Form.KeyXXX都是不会引发的。解决这个问题的正规方法是重写Form.ProcessCmdKey方法,它会在控件处理按键信息之前被调用。但是,假如要更方便,更灵活地处理快捷键--比如由另一个类处理,这个方法... 阅读全文

posted @ 2009-03-02 13:42 咖啡色 阅读(646) 评论(0) 推荐(0)

C#下如何实现服务器+客户端的聊天程序
摘要:最近也在接触SOCKET编程,在当今这样一个网络时代,很多技术都以网络为中心在诞生,至少我认为是这样的,而SOCKET套接字接口,在实现网络通讯上处于关键地位,所以不会SOCKET是不行的。首先,本文主要是针对那些刚接触SOCKET编程的朋友,如果是高手,就可以不看此文啦,可以去陪陪老婆,比如逛街或看电视...在开始之前,我们需要预习一些基础知识:什么是SOCKET套接字?SOCKET通常有那几种... 阅读全文

posted @ 2008-09-22 12:26 咖啡色 阅读(486) 评论(1) 推荐(0)

从WMI看VC++到.Net的变迁
摘要:WMI(Windows Management Instrumentation)是Windows下可以与系统信息(包括软硬件等)的一个管理框架,通过WMI可以很方便地对机器进行管理。现在以通过WMI来打开(或创建)一个记事本(notepad.exe)进程为例,看看VC++到.Net的变迁,一览.Net是如何让程序员从繁琐晦涩的程序中解放出来。 1、预工作: VC++中需要在源代码中加入: #incl... 阅读全文

posted @ 2008-08-19 16:17 咖啡色 阅读(545) 评论(0) 推荐(0)

VC中基于 Windows 的精确定时(转)
摘要:在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源紧张时,发送到消息队列 ... 阅读全文

posted @ 2008-07-10 12:40 咖啡色 阅读(468) 评论(0) 推荐(0)

1 2 下一页