C#
文章平均质量分 71
believe209
这个作者很懒,什么都没留下…
展开
-
【C#基础知识】获取网卡的ip地址和MAC
一:适用于单网卡情形二:适用于多网卡情形foreach (NetworkInterface netInt in NetworkInterface.GetAllNetworkInterfaces()) { netmac = netInt.GetPhysicalAddress().ToString();原创 2017-10-16 15:47:23 · 3824 阅读 · 0 评论 -
C#抽象类和接口
接口:所有成员默认为public,因此接口中不能有private修饰符。派生类必须实现接口的所有成员一个类可以直接实现多个接口,接口之间用逗号隔开一个接口可以有多个父接口,实现该接口的类必须实现所有父接口中的所有成员实现类与接口是has关系 抽象类:不能用 sealed 修饰符修改抽象类,这意味着该类不能被继承。从抽象类派生的非抽象类必须包括原创 2016-11-10 16:32:46 · 1102 阅读 · 0 评论 -
C# VS2010服务(service)
一:使用ServiceController控制windows服务C#中,使用ServiceController类控制windows服务,使用之前要先添加引用:System.ServiceProcess,然后在命名空间中引用:using System.ServiceProcess创建 ServiceController 的实例后,必须为其设置两个属性来原创 2016-10-26 09:46:15 · 1067 阅读 · 0 评论 -
C# VS2010 windows服务的安装
可能是太过于懒惰的原因,研究个windows 服务的安装程序都花了大半天时间。在网上看了一些示例,大部分都言过其实,把过程搞得太过复杂,老是需要去研究如何利用InstallUtil.exe及其参数。事实上,既然要安装.net下制作的windows服务,肯定首先得在目标机器上安装有.net框架。因此,InstallUtil.exe也一定已经存在目标机器上了,因而利用微软的傻瓜式操作就能很好地解决wi转载 2016-10-26 09:48:54 · 2826 阅读 · 0 评论 -
c#打包安装程序[VS2010]
一:创建创建Windows安装项目二:添加内容文件三:添加项目输出四:添加注册表信息五:创建快捷方式六:生成Windows安装程序原创 2016-08-25 09:49:28 · 2459 阅读 · 0 评论 -
C#实现HTTP提交
一:之前.NET 4.0和C# 4.0的时代的HTTP处理方式主要有三种:WebBrowserWebClientHttpWebRequest1、WebBrowser是个"迷你"浏览器,其特点是Post时不用关心Cookie、内置JS等问题WebBrowser是VS2005新提供的组件(其实就是封装了IE接口),实现POST功能一般在webBrowser的Document原创 2016-11-03 15:57:50 · 848 阅读 · 0 评论 -
C#定时器(Timer)
在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API转载 2016-11-03 11:39:00 · 1419 阅读 · 0 评论 -
C# Listview隔行变色
要为某项的所有子项使用同一背景色,请将 UseItemStyleForSubItems 属性设置为 true。但是不知道什么原因,没有起作用。用了变通的方法,设置UseItemStyleForSubItems 属性设置为 false,然后设置每个单元格的颜色为相同的即可。 ListViewItem item = new ListViewItem(); item原创 2016-10-21 13:17:38 · 5778 阅读 · 0 评论 -
C#实现HTTP服务器
实现方法一: .net框架下有一个简单但很强大的类HttpListener。这个类几行代码就能完成一个简单的服务器功能。虽然以下内容在实际运行中几乎毫无价值,但是也不失为理解HTTP请求过程的细节原理的好途径。HttpListener httpListener = new HttpListener(); httpListene原创 2016-08-26 15:09:33 · 16425 阅读 · 0 评论 -
C#多线程(下)
引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其转载 2016-08-24 16:34:00 · 683 阅读 · 0 评论 -
C#多线程(上)
引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其转载 2016-08-24 16:31:29 · 696 阅读 · 0 评论 -
C# Combobox清空值
C#combobox1中设置dropdownstyle为dropdownlist,清空时写法: comboBox1.SelectedIndex = -1;C#combobox1中设置dropdownstyle为dropdown,清空时写法: comboBox1.text= "";C#combobox1中设置了items,清空items时写法: comboBox2.Items转载 2016-09-14 09:34:30 · 26289 阅读 · 4 评论 -
C#委托的介绍(delegate、Action、Func、predicate)
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:public delegate int MethodtD转载 2016-09-02 14:29:36 · 3928 阅读 · 0 评论 -
C#综合揭秘——细说进程、应用程序域与上下文之间的关系
引言本文主要是介绍进程(Process)、应用程序域(AppDomain)、.NET上下文(Context)的概念与操作。虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高系统的性能有莫大的帮助。在本篇最后的一节当中将会介绍到三者与线程之间的关系,希望对多线程开发人员能提供一定的帮助。因为时间仓促,文中有错误的地方敬请点评。目录转载 2016-09-02 10:40:46 · 1585 阅读 · 0 评论 -
前台线程与后台线程的区别
.Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。前台线程和后台线程的区别和联系:1、后台线程不会阻止进程的终止。属于某个进程的所有前台线原创 2016-08-19 09:36:53 · 8640 阅读 · 1 评论 -
C#修饰符
修饰符用于限定类型以及类型成员的申明,C#中的修饰符按功能可分为四部分:属性修饰符,访问修饰符,类修饰符和成员修饰符。 一:属性修饰符[Serializable]:按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。 任何对该对象的方法调用都是在服务器上进行的。 [STAThread]:是Single-Threaded Apartmen原创 2016-08-18 10:07:17 · 409 阅读 · 0 评论 -
谈C#中的Delegate
引言 Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理。这两天,我再度翻阅了一些关于Delegate的资料,并开始正式整理这个C#中著名的特性。本文将由浅入深的谈一下Delegate这个特性。一.Delegate是什么? Delegate中文翻译为“委托”。Msdn中对转载 2016-08-18 09:17:03 · 452 阅读 · 0 评论 -
C#中null和""的区别
string是引用类型;string str = null 没有创建内存空间,str中存放的是空引用指针;string str = "" 创建了内存空间,str中存放的是指向堆中的指针。 简单地说:string str ="";给你一张白纸;string str = null;连白纸也没有。 string.Empty就转载 2016-11-17 14:12:04 · 3864 阅读 · 0 评论 -
C# 序列化与反序列化几种格式的转换
第一种将object转换为string对象,这种比较简单没有什么可谈的; public string ScriptSerialize(T t) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(转载 2016-11-18 16:04:27 · 1363 阅读 · 0 评论 -
C# 调试动态库(DLL)
将调用DLL文件的工程中的“引用”上右键,选择“添加引用”,在弹出的对话框中,选择“dll文件的工程生成动态库的路径”下对应的DLL文件即可。原创 2017-01-17 10:01:07 · 7520 阅读 · 0 评论 -
C#多线程中访问winform控件
程序会报错 "跨线程操作无效,从不是创建"label1"的线程访问它"的解决方法。方法一:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; 不推荐使用这种方式,禁止编译器对跨线程访问做检查方法二:使用delegate和invoke private delegate vo原创 2016-09-02 14:04:55 · 15874 阅读 · 0 评论 -
C# 线程中打开新窗体
方法一:MethodInvoker MethInvk = new MethodInvoker(ShowForm5);BeginInvoke(MethInvk); private void ShowForm5(){ Form5 form5 = new Form5(); form5.Show();}这种 委托方法不能带参数方法二:带参数的委托原创 2017-06-29 17:53:52 · 7506 阅读 · 0 评论 -
C#读写xml文件
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极转载 2017-05-16 17:43:51 · 765 阅读 · 0 评论 -
C# 窗口传递信息
方法1在Form1中通过PostMessage发送消息,在Form2通过DefWndProc截获消息来相互作用,具体参见我先前的文章《C# 收发和处理自定义的WINDOWS消息》 方法2通过第三方 公共类的公共静态成员来实现 class class1 { public static string str;//公用字符串转载 2017-03-21 16:39:02 · 1949 阅读 · 1 评论 -
C# 获取文件名和扩展名
string fullPath = @"d:\test\default.avi";string filename = Path.GetFileName(fullPath);//返回带扩展名的文件名 "default.avi"string extension = Path.GetExtension(fullPath);//扩展名 ".aspx"string fileName原创 2017-03-10 10:12:42 · 22353 阅读 · 0 评论 -
C# 重构
2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:你应该掌握的重构手段”。此外,Sean Chambers还将这31篇文章【即31种重构手段】整理成一本电子书, 以下是博客转载 2017-01-18 16:36:30 · 1048 阅读 · 0 评论 -
Eric Lippert推荐的C#书单
Eric Lippert是微软C#编译器和C#语言设计小组的重要成员,他还经常出没于Stack Overflow社区,解答开发者提出的问题。其中被问到最多的问题是:能否推荐一些学习C#的好书。最近,在接受InformIT采访时也被问到了这个问题,于是Eric列出了一份C#书单。Sams Teach Yourself Visual C# 2010 in 24 Hours by Sco转载 2017-01-18 16:30:55 · 1007 阅读 · 0 评论 -
史上最全设计模式导学目录(完整版)
转载地址: http://blog.csdn.net/lovelion/article/details/17517213 2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家学习,现将所有文章的链接进行了整理,希望能给各位带来帮助转载 2017-02-16 14:15:39 · 394 阅读 · 0 评论 -
C#与C++类型对应关系总结
Windows Data Type.NET Data TypeBOOL, BOOLEANBoolean or Int32BSTRStringBYTEByteCHARCharDOUBLEDoubleDWORD转载 2016-12-30 10:22:27 · 11052 阅读 · 0 评论 -
C# @符合的作用
一.忽略转义字符C# 中字符串常量可以以@ 开头声名,这样的优点是转义序列“不”被处理,按“原样”输出。string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";相当于string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";2.如转载 2016-12-30 09:52:26 · 668 阅读 · 0 评论 -
C# 调用 C++ 回调函数
转载地址:http://www.cnblogs.com/dipwater/archive/2012/11/07/dipwater_delegate.html同类可参考:http://www.cnblogs.com/cssmystyle/archive/2012/03/15/2397524.html1. 定义回调函数对应的委托1 [UnmanagedFunctionP转载 2017-01-06 14:08:01 · 2275 阅读 · 0 评论 -
C#获取当前项目路径
string str1 =Process.GetCurrentProcess().MainModule.FileName; //可获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory; //获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。//备注 按照定义,如果该进程在本地或网络驱动器的根目录中启转载 2016-11-22 15:10:45 · 10503 阅读 · 0 评论 -
C#播放声音【六种方法】
C#中声音的播放主要有六种方法:1.播放系统事件声音 2.使用SoundPlayer3.使用API函数播放4.使用axWindowsMediaPlayer的COM组件来播放5.Microsoft speech object Library6.使用directX1.播放系统事件声音 System.Media.SystemSounds.Asterisk.Pl原创 2016-11-22 15:05:31 · 61108 阅读 · 4 评论 -
Invoke and BeginInvoke
一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。转载 2016-08-18 09:16:00 · 341 阅读 · 0 评论 -
C#事件
一、事件的本质事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程。在面向对象的世界里,就可以统一认为是两个对象之间的行为。两个对象之间发送的这种消息,对发送方来讲是产生一个事件,对接受方来讲是需要处理某个事件。这种消息可以是用户操作产生的或者软件系统里的某个对象产生的。转载 2016-08-18 09:14:47 · 1497 阅读 · 0 评论 -
invoke和begininvoke 区别
一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们这里要讲的转载 2016-08-18 09:13:35 · 627 阅读 · 0 评论 -
outlook2007 有一个程序正试图以您的名义自动发送电子邮件
标题:Microsoft Office Outlook内容:有一个程序正试图以您的名义自动发送电子邮件。是否允许操作?如果对此感觉意外,这可能是由于病毒导致,您应选择“否”。按钮:“是”、“否”、“帮助”解决方法:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSys转载 2016-05-11 11:08:56 · 12377 阅读 · 1 评论 -
C#委托和事件详解
转载地址:http://www.bianceng.cn/Programming/csharp/200711/5259.htm委托 和 事件在 .net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里憋得慌,混身不自在。本文中,我转载 2016-04-26 16:43:04 · 506 阅读 · 0 评论 -
C#中is与as的区别分析
一、C#类型的转换在c#中类型的转换分两种:显式和隐式,基本的规则如下:1、基类对象转化为子类对象,必须显式转换,规则:(类型名) 对象。2、值类型和引用类型的转换采用装箱(boxing)或拆箱(unboxing).3、子类转化为基类对象。4、基本类型互相之间转化可以用Covent类来实现。5、字符串类型转换为对应的基本类型用Parse方法,除了String类型外其转载 2016-04-14 09:44:45 · 807 阅读 · 0 评论 -
C#控件及常用属性整理【详细版】
1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。 (3)StartPosition属性:用来获取或设置运行转载 2016-04-13 14:27:50 · 3635 阅读 · 0 评论