C#
文章平均质量分 89
feilongzaitianhehe
软件开发者,涉猎范围包括但不限于C#、C、C++,系统包括Linux、freeRTOS、windows等;
联系邮箱:956806322@qq.com 或者 微信:flshihuai 无重要事项不要联系,谢谢各位
展开
-
C#中Abstract和Virtual
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用转载 2016-03-10 11:29:39 · 330 阅读 · 0 评论 -
Visual Studio 2010 C# 直接连接ACCESS数据库
根据MSDN的资料,有两种方法连接到ACCESS数据库,分别是: 一、在服务器资源管理器中连接到 Access 数据库 1、在服务器资源管理器中创建连接 二、从应用程序连接到 Access 数据库 1、以直观方式连接到 Access 数据库 ➀ 从服务器资源管理器创建连接 ➁ 从“工具箱”的“数据”选项卡创建连接 2、以编程方式连接到 Access 数据库 ➀ 以编转载 2016-08-11 13:53:02 · 1568 阅读 · 1 评论 -
C# 对Excel操作与分析
今天帮现在公司写个工具,要动态读excel上的ip地址与端口号,来更改IE的代理地址,由于好久没写Excel的操作了,只能查阅以前的项目,总结一下: 首先我们要引用我们的com接口的excel Microsoft.Office.Interop.Excel.Application excel对象表示 Excel 应用程序本身。Application 对象公开了大量有关正在运行的应用程序、应用于该转载 2017-03-21 11:29:56 · 348 阅读 · 0 评论 -
C# 中各种路径的获取方法
// 获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径,包含文件名System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。System.Environment.转载 2017-04-07 17:19:26 · 695 阅读 · 0 评论 -
c#中为什么又重新使用了goto语句
对于goto语句,在c/c++中就已经被不推荐使用了,在java中根本就没有goto的存在了,为什么c#中又重新使用goto语句呢?首先了解一下c#中的goto语句用法:1)基本的作用还是和以前一样,用户跳到Label的地方执行语句。//exp1 有效代码{ { goto labelA; }labelA:}转载 2017-03-23 13:55:14 · 1700 阅读 · 0 评论 -
C#操作字符串方法总结
staticvoid Main(string[] args){ string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length)转载 2017-04-12 15:03:05 · 286 阅读 · 0 评论 -
C# Tostring 格式化输出字符串全解
C 货币2.5.ToString("C")¥2.50D 十进制数25.ToString("D5")00025E 科学型25000.ToString("E")2.500000E+005F 固定点25.ToString("F2")25.00G 常规2.5.ToString("G")2.5转载 2017-04-12 15:32:40 · 741 阅读 · 0 评论 -
C# 如何给Winform的button等控件添加快捷键
一:Alt + *(按钮快捷键) 在大家给button、label、menuStrip等控件设置Text属性时在名字后边加&键名就可以了,比如button1.text= "确定(&O)"。就会有快捷键了,这时候按Alt+O就可以执行按钮单击事件。二:Ctrl+*及其他组合键 在WinForm中设置要使用组合键的窗体的KeyPreview(向窗体注册键盘事件)属性为Tru转载 2017-04-05 21:58:34 · 3119 阅读 · 2 评论 -
C#里面设置ListView单列(某个单元格的样式:颜色和字体等)。
C#里面设置ListView单列(某个单元格的样式:颜色和字体等)。 ListViewItem lvi = new ListViewItem((i + 1).ToString()); lvi.UseItemStyleForSubItems = false; ListViewItem.Lis转载 2017-05-08 09:29:56 · 8221 阅读 · 2 评论 -
C# 非模式窗体show()和模式窗体showdialog()的区别
对话框不是模式就是无模式的。模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载)。例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模式的。 一、如何调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 //非模式窗体 From qform=new Form(); qform.Show();转载 2016-08-10 17:20:43 · 1780 阅读 · 0 评论 -
C# 连接SQL Server数据库的几种方式--server+data source等方式
如何使用Connection对象连接数据库?对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。Sq转载 2016-07-09 16:06:06 · 1232 阅读 · 0 评论 -
C# 并行编程 之 Barrier的使用 - 通过屏障同步并发任务
基本信息Barrier 是 .Net 提供的一直并发的机制,它允许多个任务同步他们不同阶段的并发工作。这里的关键点是【多个任务】和【不同阶段】。 假设有4个相同的任务(Task),每个任务都有4个阶段(Phase),当他们并发工作时,只有当所有任务的相同步骤都完成时,所有任务才可以开始下一个步骤。如图所示:这里的 Barrier 就是 .NetFrame转载 2016-05-23 13:57:50 · 783 阅读 · 0 评论 -
WPF学习------XAML 语法详述
XAML 语言规范XAML 语言规范中也定义或引用了此处定义的 XAML 语法术语。 XAML 是一种基于 XML 并遵循或扩展 XML 结构规则的语言。 其中某些术语共享自或基于描述 XML 语言或 XML 文档对象模型时常用的术语。有关 XAML 语言规范的更多信息,请从 Microsoft 下载中心下载 [MS-XAML]。转载 2016-05-24 17:53:13 · 1233 阅读 · 0 评论 -
C#中fixed关键字的作用总结
原则:1、垃圾回收机制,维护引用信息不维护指针信息2、引用类型的实例化对象在生存期内由垃圾回收机制处理,可能移动内存3、当一个类的实例化对象中含有值类型时,定义指向这些值类型的指针编译报error,因为这些内嵌在引用类型中的值类型实例会随着引用实例化对象的内存移动而移动,所以指针值在不知情的情况下会发生变化,fixed关键字做的工作便是让这样的类实例化对象(不是类类型本身,而是一个实例转载 2016-05-05 14:29:05 · 3457 阅读 · 0 评论 -
.Net中C#的DllImport的用法
在 C# 中通过 P/Invoke 调用Win32 DLL http://msdn.microsoft.com/zh-cn/library/aa686045.aspx 大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如 Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经转载 2016-05-05 14:58:55 · 922 阅读 · 0 评论 -
C#中跨线程操作控件 --- InvokeRequired 属性 与Invoke方法
在设计中为了让界面与逻辑分离,我的做法是使用事件,界面只要响应事件来处理界面的显示就行了。而事件在逻辑处理中可能由不同的线程引发,这些事件的响应方法在修改界面中的控件内容时便会引发一个异常。这时就用到了Control.InvokeRequired 属性 与Invoke方法。MSDN中说:获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方转载 2016-05-05 15:49:31 · 9428 阅读 · 1 评论 -
c#初学-多线程中lock用法的经典实例
一、Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问转载 2016-05-18 15:44:21 · 646 阅读 · 0 评论 -
Dependency Property 依赖属性
依赖属性就是一种可以自己没有值,并能通过使用Binding从数据源获得值(依赖在别人身上)的属性。拥有依赖属性的对象称为“依赖对象”。WPF开发中,必须使用依赖对象作为依赖属性的宿主,使二者结合起来。依赖对象的概念被DependencyObject类所实现,依赖属性的概念则由DependencyProperty类所实现从这棵继承树上可以看出,WPF的所有UI空间都是依赖对象转载 2016-05-31 16:00:38 · 1435 阅读 · 0 评论 -
C#多线程那点事——信号量(Semaphore)
信号量说简单点就是为了线程同步,或者说是为了限制线程能运行的数量。那它又是怎么限制线程的数量的哩?是因为它内部有个计数器,比如你想限制最多5个线程运行,那么这个计数器的值就会被设置成5,如果一个线程调用了这个Semaphore,那么它的计数器就会相应的减1,直到这个计数器变为0。这时,如果有另一个线程继续调用这个Semaphore,那么这个线程就会被阻塞。获得Semaphore的线转载 2016-05-20 11:43:25 · 6936 阅读 · 0 评论 -
C#多线程之二:ManualResetEvent和AutoResetEvent
初次体验ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析:在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函转载 2016-05-23 11:11:40 · 478 阅读 · 0 评论 -
System.Windows.Forms.Application.DoEvents()
记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了Application.DoEvents(),今天看到了关于这方面的一些文章,知道我以前有些用法是不当的,有些地方需要慎用Application.DoEvents()。首先我们先看看在循环比较大的程转载 2017-04-27 10:01:53 · 2083 阅读 · 0 评论