C#.net
Spring_Ji
乐观、开朗、自信,喜欢英语、编程、篮球等等,希望结交更多的朋友。
展开
-
C#中的Action<>和Func<>
其实他们两个都是委托【代理】的简写形式。一、【actionDelegate的代码:public delegate void myDelegate(string str);public static void HellowChinese(string strChinese){ Console.WriteLine("Good morning," + strChinese); Con原创 2013-01-29 14:47:45 · 35610 阅读 · 9 评论 -
where T : class的含义
public void Request(List EntityList) where T : class{}这是参数类型约束,指定T必须是Class类型。 .NET支持的类型参数约束有以下五种:where T : struct | T必须是一个结构类型where T : class原创 2013-01-29 14:58:04 · 18344 阅读 · 1 评论 -
VS调试 不会命中断点,源代码与原始版本不同的解决办法
有这么几种方法可以尝试去解决此问题:1、工具”——>选项”——>调试”——>要求源文件与原始版本完成匹配”去掉勾选。2、清理解决方案,重新生成;重新格式化文件;ctrl+a全选文档,CTRL+K,CTRL+F,重新编译。3、用nodepad将代码转存为unicode格式。4、上面三种办法还不行,把出问题的文件内容copy出来,然后删除此文件,编译(这里一定要编译!我试过不编译是不行原创 2013-02-08 15:07:56 · 29272 阅读 · 6 评论 -
VS 附加到进程调试技巧
有些时候碰到自己开发的程序嵌入到别人的框架中,而在接口的地方出了问题,而又不方便将自己的模快加入到别人的工程中【有很多相关的文件,还有mster页面等】,这个时候VS的附加到进程调试变得不可或缺了,过多介绍的东西就不多说了,直奔主题1、拷贝project1的dll及相关的xap及页面文件到对应的project2工程中,不必加入到工程中。2、启动Project2工程【Ctrl+F5】,不调试原创 2013-02-08 15:34:47 · 58469 阅读 · 7 评论 -
Silverlight Spy初探
突然接手别人写的一个silverlight的项目,需要尽快熟悉它的功能,但是又很多页面元素不能很快的找到,于是Silverlight Spy就出世了,网上下载个最新版本【试用】,如下:1、主界面:2、用Xaml Spy加载Silverlight程序: 点击launch browser加载你要访问的silverlight程序的网址,记住要用页面直接浏览,不要用原创 2013-02-05 15:31:18 · 3291 阅读 · 1 评论 -
C#中Const与Static Readonly的区别
区别:const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值,比如:public const π=3.1415926;public const DayHours=24;像这些恒定不变的量,我们最好是用Const来声明。static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。比如:public static strin原创 2013-08-05 09:55:08 · 1126 阅读 · 0 评论 -
获取格林威治时间
整个地球分为二十四时区,每个时区都有自己的本地时间。为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated,也翻译为:全球标准时间)。UTC与格林尼治平均时(GMT, Greenwich Mean Time,也翻译成:格林威治标准时间)一样,都与英国伦敦的本地时相同。UTC与GMT基本相同。 C#: DateTime.UtcNow转载 2013-10-15 10:52:41 · 6364 阅读 · 0 评论 -
VS改大小写的快捷键
改成小写:Ctrl+U改成大写:Ctrl+Shift+U记得要选中要修改的一段英文。原创 2013-12-25 10:17:25 · 72486 阅读 · 0 评论 -
微软RDLC的Report也精彩
1、Table:Report可以做出漂亮的Table,背景颜色字体可以自定义,绑定数据源也很方便。 2、Chart:图标也可以做的很炫,自定义的功能也比较多【当然了,肯定没有ppt和Excel中的漂亮,但是对于开发的来讲也算能接受了,希望以后升级能more and more better】 3、Table and Chart:这里面说的是Table可以动态产生列,因为Rep原创 2013-04-22 14:25:11 · 1718 阅读 · 2 评论 -
如何把js文件编译成dll供页面调用
1. 在解决方案中添加一个项目:JSControl2. 在这个项目添加一个js文件(JScript1.js)脚本的内容:function showAlert(){alert('Today is a good dary');}3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源)4. 在JSControl项目的A原创 2014-08-12 11:16:34 · 3436 阅读 · 0 评论 -
VS2010创建解决方案 -- 添加项目后解决方案不见了
原创 2014-08-12 10:49:38 · 8375 阅读 · 0 评论 -
C# -- 判断字符是否能转化为整形
int iNum = 0;string sNumber = "1003";int iResult = 0;int.TryParse(sNumber, out iResult);if (iResult == 1){ iNum = int.Parse(sNumber);}原创 2014-10-14 17:36:53 · 3846 阅读 · 0 评论 -
Windows service中的Timer控件
写Windows服务的Timer控件并不是在工具箱上直接拖拽过来的Timer,那是System.Windows.Forms命名空间下的组件,而我们这里使用的Timer应该是System.Timers.Timer。解决方法有:打开"工具箱"---右键---"选择项"---找到Timer控件这个Timer控件的是system.Timer下的,可不是System.Windows.Fo原创 2015-09-15 14:11:34 · 960 阅读 · 0 评论 -
如何手动安装、启动、卸载和删除Windows服务
Win7下需要以管理员身份运行cmd1. 安装服务:cmd下进入目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe运行:installutil D:\work\Projects\AddressMapping\AddressMapping\AddressMapping_WS\bin\Debug\Addres原创 2016-02-14 10:51:39 · 6163 阅读 · 0 评论 -
c#关于Delegate最简单的例子:两个窗体间的消息传递
关于Delegate【代理、委托】是C#中一个非常重要的概念,向前可以推演到C++的指针,向后可以延续到匿名方法、lambda表达式。 现在我就从一个最简单最实用的一个小例子出发分析一下Delegate的使用。 现在有两个窗体Form1和Form2。 两个按钮Button1(Form)和Button2(Form2)。Form1的代码:p原创 2013-01-09 11:53:42 · 5619 阅读 · 0 评论 -
C#让代码运行exe时执行,而时Debug不执行
1、C#让代码运行exe时执行,而时Debug不执行if (!Debugger.IsAttached){ Console.Write("Process is running"+"\r\n");} 2、另外说一下预编译指令:#region、#endregion:在C#中我们经常用到,此指令主要是将代码分割成给定名称的块,与Visiual studio中的大纲显示功能配套使用,原创 2013-01-07 09:21:25 · 7637 阅读 · 0 评论 -
多线程中lock的应用
看了很多关于c#中lock使用的说明,但是感觉都没有说到点上。 最近做了一个应用,吃了一些苦头才把lock搞明白,关于lock的定义我就不多说了,这次主要说说lock在多线程中的应用及实际应用过程中遇到的问题。 多个线程访问同一个变量的时候就会用到lock,但是如何应用lock呢,lock对象需要object类型的,并且是static的,否则,多个线程会创建原创 2012-05-17 07:58:14 · 799 阅读 · 0 评论 -
Transaction (Process ID) was deadlocked on lock resources with another process and has been chose
最近在做多线程处理sql server2008某个表中的数据时,在Update记录的时候出现了【Transaction (Process ID 146) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction】显原创 2012-06-20 08:33:52 · 19102 阅读 · 4 评论 -
C# 获取当前程序路径的方法总结
最近做一个log程序用到了获取应用程序路径的方法,顺便整理了一下:1.获得带.exe的路径string str1 = Process.GetCurrentProcess().MainModule.FileName; //可获得当前执行的exe的文件名。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\Test.vsh原创 2012-05-17 08:07:38 · 2581 阅读 · 0 评论 -
C#中验证sql语句的方法(SET PARSEONLY 与SET NOEXEC )
SET PARSEONLY检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。SET PARSEONLY { ON | OFF }当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句。当 SET PARSEONLY 为 OFF 时,SQL Server 编译并执行语句。SET PARSEONLY 的设置是在分析时设置,而不原创 2012-06-27 19:24:31 · 4190 阅读 · 3 评论 -
Jquery调用C#后台方法注意事项
Jquery可以直接调用页面方法,不过每次在使用过程中总是一波三折,现在使用过程中的注意事项总结下1,VS2008下好像不能直接调用页面后台页面,据说得修改配置文件2,要调用页面后台方法,首先得引用命名空间using System.Web.Services; 然后方法必须是静态方法,且方法须标记为[WebMethod]3,前台Jquery调用如下$.ajax({type:转载 2012-06-30 19:05:39 · 3205 阅读 · 0 评论 -
Window Services中如何进行调试
在OnStart方法中加入Debugger.Launch();即可进行服务的调试。原创 2012-08-14 17:21:25 · 943 阅读 · 0 评论 -
c#读写XML文件
已知有一个XML文件(bookstore.xml)如下: Oberon's Legacy Corets, Eva 5.95 1、往节点中插入一个节点:XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load("bookstore.xml");XmlNode root = xmlDoc.SelectSingleN转载 2012-08-16 13:50:38 · 729 阅读 · 0 评论 -
C#读写txt文件的方法
1. 读取文件(StreamReader)添加引用:using System.IO;StreamReader objReader = new StreamReader(文件路径); string sLine=""; ArrayList LineList = new ArrayList(); while (sLine != null) {原创 2012-08-17 11:53:45 · 994 阅读 · 0 评论 -
为C# Windows服务添加安装程序
首先,当然是创建一个Windows服务的项目【新建项目里面选择就可以了】。然后要给服务“添加安装程序”,如图1所示:(这一步和自己用InstallUtil注册是完全一样的)(图1) 添加后,会出来一个serviceProcessInstal1,还有serviceInstaller1,如果你一个项目里有两个服务的话,这里就会有两个serviceInstaller类,如图2:原创 2012-08-30 13:56:57 · 1010 阅读 · 0 评论 -
Application.Exit()退出应用程序但在资源管理器中还能看到
应用程序退出时,使用Application.Exit()和Application.ExitThread()都不行,甚至加上GC.Collect()也不管用。在程序退出时仍然在任务管理器中还可以看到自己的进程在运行。 后来发现是由于程序运行过程中开启了一个线程,后来将Thread.IsBackground 设置为 true(后台线程),此问题得到了解决。这是因为默认的线程是属于前台原创 2012-08-28 16:11:49 · 1933 阅读 · 0 评论 -
C# 管道通信-命名管道(一)
最近在做一个应用程序,涉及到两个应用程序之间的通讯,就想到了用C#的命名管道的方式来实现,经过一番小折腾,总算实现了,现把一些主体的代码粘贴出来与大家分享: 管道通讯会涉及到client端和Server端,Client端的主要代码: 需要引用命名空间:using System.IO.Pipes;Thread pipeThread = new Thread(n原创 2012-08-31 17:51:43 · 26789 阅读 · 4 评论 -
c# 管道通信-命名管道(二)
命名管道的连接总结: 命名管道的连接有两次阻塞的地方,一是在WaitForConnection()时[客户端进行连接同理]会阻塞,二是在ReadString()[读取管道信息]时。 在服务器端第一次创建命名管道后等待连接,当客户端连接成功后服务器端的命名管道就用作通讯用途。如果需要再次等待连接,服务器端就需要再次打开命名管道(创建一个命名管道的实例)并等待连接。原创 2012-09-07 15:43:13 · 11312 阅读 · 6 评论 -
VS2010断点设置技巧
许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧。希望这篇文章能帮你掌握这些技巧。它们都很简单,却能帮你节约大量的时间。一、跳到当前光标处(Ctrl+F10)我经常看到人们为了到达目标代码位置,而在程序中早早设定了断点,然后反复地按F10/F11,一步步走到目标代码处。当程序员的确需要仔细观察每一步的状态变化时, F10/F11是合理的选择。然而多数情转载 2012-07-21 12:36:48 · 37444 阅读 · 11 评论 -
C#中新特性的学习:Delegate、匿名方法、lambda表达式
最近在修改一个项目的代码中,用到了lambda表达式的写法,就顺便学习了一下,发现弄清楚lambda必须要弄清楚匿名方法,弄清楚匿名方法必须要弄清楚Delegate,弄清楚Delegate还要理解C++的指针,还好之前用过Delegate,闲话少叙,还是分享一下测试代码吧。1、Delegatepublic delegate void MyDelegate(string message);原创 2012-10-18 10:42:40 · 6167 阅读 · 1 评论