![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
warrior_musician
i am climber
展开
-
定时器:消息机制
1.实例数线程数控制 定时器每次启动的就是一个线程。可用防止重入机制,以免线程过多资源被其耗尽。此时是单实例单线程。或者使用计数器来限定线程数量。此时是单实例多线程。2.多实例单线程并发(1)消息机制对消息的争抢问题(并发,数据库更新锁)说明:在消息的处理中,消息均插入一个表,而定时器在两个实例上同时运行,因此必须防止对消息的竞争。方案:利用数据库记录的更新结果...原创 2019-12-15 13:52:04 · 470 阅读 · 0 评论 -
41、C#:C#中对于接口的实现方式
第一部分:本文来自:https://www.cnblogs.com/summer1987/p/4600100.htmlC#中对于接口的实现方式有隐式接口和显式接口两种:隐式地实现接口成员创建一个接口,IChinese,包含一个成员 Speak;我们创建一个类Speaker,实现接口Chinese//隐藏式实现例子public interface IChinese转载 2017-11-29 10:26:11 · 1568 阅读 · 0 评论 -
36、在C#项目中使用Dapper
1.Dapper和Oracle数据库交互using System.Data;using System.Data.SqlClient;using Dapper;string connectionString = "DATA SOURCE=ORCL;USER ID=crm;PASSWORD=crm"; using (IDbConnection connection原创 2017-10-12 20:46:12 · 2246 阅读 · 0 评论 -
38、C#:app.config详述
1. 下文对应的各种配置节绝大部分都可以在中MSDN中找到,地址:https://msdn.microsoft.com/zh-cn/library/ms229207(v=vs.80).aspx 2. 我的配置 -->原创 2017-10-17 17:57:07 · 1037 阅读 · 0 评论 -
35、异步编程和多线程编程的区别
第一篇:本文来自:http://blog.csdn.net/cqkxboy168/article/details/9026205/1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。3. 同步:进程之间的关系不是相互排斥转载 2017-09-03 18:09:40 · 1060 阅读 · 0 评论 -
34、C#:字符串和正则表达式
本文来自:http://www.cnblogs.com/liter7/p/5175012.html本文将完成以下两个目标: 一、创建字符串; 二、正则表达式; 首先,我先来介绍一下System.String类: System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。 使用运算符重载可以连接字符串:转载 2017-08-13 17:10:05 · 768 阅读 · 0 评论 -
33、C#:linq查本集合中不包含于另一个集合的元素
本文来自:http://www.cnblogs.com/TrueElement/archive/2012/01/13/2321328.htmlint[] num0 = { 28, 32, 14 };int[] num1 = {14,15,16};如上,我想把num0中不包含于num1的元素都找出来,其正确结果应该是28,32。早上看到原来linq转载 2017-08-13 17:05:15 · 6740 阅读 · 0 评论 -
32.C#:TimeSpan 计算时间差(时间间隔)
本文来自:http://www.cnblogs.com/999c/p/6170501.htmlTimeSpan 结构 表示一个时间间隔。命名空间:System 程序集:mscorlib(在 mscorlib.dll 中)说明: 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此转载 2017-08-13 17:00:06 · 2521 阅读 · 0 评论 -
31、C#:键值对类型Hashtable与Dictionary比较和相关用法
本文来自:http://www.2cto.com/kf/201304/201715.html最近在使用C#中的Hashtable与Dictionary的时候,想知道其区别,通过查找网络相关博客资料,作出下列总结。Hashtable与Dictionary虽然都是作为键值对的载体,但是采用的是不同的数据结构。就像Java中的ArrayList与LinkList,虽然都是实现了Lis转载 2017-08-13 16:52:48 · 1290 阅读 · 0 评论 -
30、C#:Convert和parse的区别
本文来自:http://blog.csdn.net/foxalien/article/details/4946717Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。 没搞清楚Convert.To转载 2017-08-13 16:49:26 · 303 阅读 · 0 评论 -
29、C#:C#去除字符串的最后一个字符
本文来自:http://blog.sina.com.cn/s/blog_756cc0260101c070.html字符串:string s = "1,2,3,4,5,"目标:删除最后一个 ","方法:1、用的最多的是Substring,这个也是我一直用的s = s.Substring(0,s.Length - 1)2、用TrimEnd,这个东西传递的是一个字符数转载 2017-08-13 16:48:06 · 13267 阅读 · 0 评论 -
18.C#:VS2010之EF框架添加edmx(自动跟踪实体生成器):映射到数据库表和代码实体类
在上一篇文章添加好EF数据库模型的基础上,为了生成表结构对应的标准类,使用自动跟踪实体生成器,这里主要记录文件命名注意事项1.双击.edmx文件,在界面的空白处鼠标右击,选中“添加代码生成项”,选择“ADO.NET自跟踪实体生成器”,会生成两个.tt文件2.注意:其中没有包含Context字符串的那个文件命名一定要注意,必须命名为有.edmx后缀的文件名+Entites.tt,比如原创 2017-01-19 20:16:38 · 6419 阅读 · 0 评论 -
40、C#:如何调用外部dll的接口
.如果要用别人dll中的接口,以此来调用别人的服务(别人的服务必须是开启的,而且要能通过expo服务调用到),应该如何做?1.首先将别人的dll引用到自己的项目中来(添加引用即可)2.然后将别人的接口添加到项目的apidefine.xml中去,例如:ExpoBuildApiDefine.BuildApiDefineFile(new List(){ typeof(IConfigManage原创 2017-11-23 20:54:28 · 6853 阅读 · 0 评论 -
42、C#:EF框架的:导航属性,加载记录追踪方式(MergeOption),添加内存内容到新上下文(Attach)
EF很强大,知道一些用法可以很便利地开发。1.导航属性比如apply为父表(主键作为子表的外键(之一)),progress作为子表,那么apply.progress.add(new progress{ ...,....})的方式就是使用apply对象来对子表进行新增操作。这种新增操作无需添加子表的外键(也就是apply的主键),会默认添加,且与子表的主键是否是此外键无关。注:app原创 2017-12-13 11:26:45 · 1211 阅读 · 0 评论 -
Socket编程
参考文件1:https://www.cnblogs.com/GIS_zhou/articles/1813918.html参考文章2:https://blog.csdn.net/qq_32623363/article/details/72887920说明:使用接收方法,一定要用最简单的那种,即:Int32 len = clientSocket.Receive(bytesF...转载 2019-03-29 20:50:29 · 118 阅读 · 0 评论 -
C#中Thread.sleep(),例如:Thread.sleep(1),Thread.sleep(0)
文章来自:http://blog.sina.com.cn/s/blog_70572a810100rh4p.html我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00...转载 2018-10-22 14:20:14 · 2952 阅读 · 3 评论 -
检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)
转载自:https://blog.csdn.net/a351945755/article/details/21000453我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误:HTTP 错误 500.23 - Internal Server Error检测到在集成的托管管道模式下不适用的 ASP.NET 设置。为什么会出现以上错误?在IIS7的应用程序池有...转载 2018-10-09 15:23:27 · 1155 阅读 · 0 评论 -
c#教程之通过数据绑定修改数据
原文来自:https://www.cnblogs.com/stry/p/6227322.html通过数据绑定修改数据 “实体框架”提供了与数据库的双向通信通道。前面已经讲述了如何使用“实体框架”获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库。 26.2.1 更新现有数据 使用一个 ObjectContext 对象获取数据时,根据数据创建的对象位于应用程序的内存缓...转载 2018-09-18 14:25:39 · 1146 阅读 · 0 评论 -
46、C#:Linq的select连表操作
1.自连接,直接join即可2.左连接,除了join之外,还需要加上:DefaultIfEmpty(),这个是用来给定这一行没有匹配上的默认值,引用类型为null,值类型为03.右连接,哪个表(如表a)要右连接(显示全部行值),直接把这个表(表a)放到最上面的from就可以了,其实就是换一个表的左连接4.连接后使用了from cc in aacc.DefaultIfEmpty()后,原创 2018-01-29 17:45:12 · 1514 阅读 · 0 评论 -
39、C#项目开发注意
1.需求确认:每次任务都要明确需求细节,多问!2. 需求确认:需求不完全确认,不动手编码(开发前)3. 每天开发前都要先更新SVN(防止参考或者要修改的代码已经变更)4. 测试用例:开发前一定要先写测试案例,全面列好边界条件,案例模拟各种使用细节,根据测试用例的结果来开发,可以考虑到多种条件判断不至于遗漏,开发时可以事半功倍5.吞吐量:开发前一定要确认吞吐量,以此确认开发思原创 2017-10-31 17:28:35 · 518 阅读 · 0 评论 -
45、C#编译版本和数据库连接问题
1.anyCPU = x86 || x642.anyCPU版本的EXE启动,根据系统来确定以x86还是以X64运行3.x86运行的程序仅能加载x86的dll或anyCPU的dll;x64运行的程序仅能加载x64的dll或anyCPU的dll4.x86的EXE只能以x86方式运行,可以在32位或者64位操作系统的机器上运行;x64的EXE只能以x64方式运行,只能在64位操作系统的机器上原创 2018-01-23 22:43:59 · 251 阅读 · 0 评论 -
44、C#操作Excel小结
1.加载Excel文件(使用所在路径,属于Excel处理的内容最好用中括号括起来,这样可以明显区分边界) WorkBook workbook = new WorkBook (filePath);2.加载Excel文件中的工作簿(一般是第一张) WorkSheet worksheet = workbook.Worksheets[0];3.插入列(在首列之前原创 2017-12-26 17:02:12 · 565 阅读 · 0 评论 -
43、任务调用
一般任务调度都属于独立任务,定时运行1.定义一个接口IBackGroundJob并且仅有方法execute,返回值executeresult,里面定义属性:成功与否标志issuccess,日志信息logcontent,错误信息列表errormessage构造方法一般给定issuccess为默认值true,方法的输入参数taskdispatchinfo一般包含可空类型的时间,taskparams原创 2017-12-21 16:13:26 · 399 阅读 · 0 评论 -
28、oracle/C#:c#中嵌入oracle各种报错
本文来自:http://blog.csdn.net/xuemoyao/article/details/50557812ORA-00907: 缺失右括号前言 最近在开发过程中使用Oracle数据库,在程序中进行查询数据时遇到了“ORA-00907: 缺失右括号”的问题,但是如果直接把sql语句直接在数据库或PL/SQL中执行时,却又能够正常查询,为了解决转载 2017-08-04 21:58:55 · 560 阅读 · 0 评论 -
17.C#:Entity Framework快速入门--实例篇
之前的那篇MSDN上翻译过来的EF写得并不好,没有操作性,这里结合网上一片有实例的博客,结合自己的操作过程,作以下说明:1.使用VS2010和C#语言,所以要有Oracle数据库服务器,并且要安装VS和Oracle之间的连接组件,我这里安装为:Oracle Data Access Components for Oracle Client2.连接数据库后,在PL/SQL Devolope转载 2017-01-18 21:24:24 · 13531 阅读 · 0 评论 -
27、VS2010项目配置详解
本文来自:http://blog.csdn.net/u014805066/article/details/50586892首先看一下项目设置中可以使用的宏(环境变量),常用的有:ConfigurationName配置名字,通常是Debug或者ReleaseIntDir编译器使用的中间目录,产出obj文件OutDir转载 2017-07-25 09:59:22 · 519 阅读 · 0 评论 -
4.C#:string.Split 和 string.Join
本文来自:http://www.cnblogs.com/multiplesoftware/archive/2011/09/17/2179380.htmlC# 中奇妙的函数– string.Split 和 string.Join很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号),或使用一个分隔符来合并字符串序列。转载 2017-01-12 17:31:06 · 1032 阅读 · 0 评论 -
3.C#:C#中datetime的使用
第一部分:本文来自:http://www.rs100.cn/cxz/Html/?544.html //大家在做报表或查询的时候都会有给用户预设一些可选的日期范围(如上图) //如本年度销售额、本季度利润、本月新增客户 //C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变转载 2017-01-12 16:05:52 · 2829 阅读 · 0 评论 -
2.C#:C#泛型类之LIST<T>
本文来自:http://www.cnblogs.com/wisdomforce/archive/2010/05/31/1748642.html1、 定义System.Collections.Generic.List类表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。T为类型参数,代表列表中元素的类型。该类实现了IList泛型接口,转载 2017-01-12 15:58:08 · 1234 阅读 · 0 评论 -
1.C#:数组、ArrayList和List三者的区别
本文来自:http://blog.csdn.net/zhang_xinxiu/article/details/8657431 C#中数组、ArrayList和List三者的区别 在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。数组 数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且转载 2017-01-12 15:53:35 · 373 阅读 · 0 评论 -
12.C#:解决方案、项目、程序集、命名空间区别
第一部分:本文来自:http://blog.csdn.net/u010096526/article/details/46119033 是不是有人也像我一样,弄不清他们几个的关系呢?1、项目 新建项目的同时,会自动建立此项目对应的解决方案名称,默认二者名称一样。 在.Net下,一个项目可以表现为多种类型:控制台应用程序、类库、web应用程序等2、解转载 2017-01-17 10:20:49 · 7420 阅读 · 0 评论 -
21:什么变量在堆内存里存放,什么变量在栈内存里存放
堆和栈的区别 (stack and heap)一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束释放。 4另外还有一个专转载 2017-02-08 10:54:48 · 888 阅读 · 0 评论 -
11.C#:浅谈HTTP中Get与Post的区别
本文来自:http://www.w3school.com.cn/tags/html_ref_httpmethods.aspHTTP 方法:GET 对比 POSTHTTP 消息标签列表(字母排序)两种最常用的 HTTP 方法是:GET 和 POST。什么是 HTTP?超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的转载 2017-01-16 17:15:44 · 616 阅读 · 0 评论 -
9.C#:sealed修饰符学习
原文地址:http://www.cnblogs.com/wphl-27/p/5874638.htmlC#语言还是比较常见的东西,这里我们主要介绍C# sealed修饰符,包括介绍两个修饰符在含义上互相排斥用于方法和属性等方面。C# sealed修饰符是干什么的?C# sealed修饰符表示密封用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰转载 2017-01-15 22:02:16 · 472 阅读 · 0 评论 -
8.C#:[Serializable]的作用
本文来自:http://blog.sina.com.cn/s/blog_a401a1ea0101gyjp.html如果你做远程方法调用(RPC)时,比如,服务器端有个类A及对象a,客户端需要无视网络的存在,直接调用对象a。这种情况下,就需要把类A设计为可序列化的,那么它的实例a也就可以实例化了。说得简单点,在服务器的 命名空间中的对象a,肯定不能直接被客户端的命名空间中转载 2017-01-15 21:53:37 · 5070 阅读 · 0 评论 -
20、C#:使用VS2010生成dll文件
本文来自:http://blog.csdn.net/tzjly/article/details/6730997有两种方法: 但是一般这个使用 打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs 类库文件组成的程序集,写好代码之后(例如写原创 2017-02-06 10:22:13 · 1531 阅读 · 0 评论 -
5.C#:stringBuilde的特性和使用
本文来自:http://www.cnblogs.com/tandy/p/4840754.htmlC#string与stringBuilder的区别string的缺点是每次字符串变量的内容发生了改变时,都必须重新分配内存。你想想,如果创建一个迭代100000次的循环,每次迭代都将一个字符连接到字符串,这样内存中就会有100000个字符串,每个字符串仅仅与前一个字符串相转载 2017-01-12 19:17:33 · 904 阅读 · 0 评论 -
13.C#:using用法详解
using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。using指令 ①允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用: using System.Text; using转载 2017-01-17 20:02:29 · 477 阅读 · 0 评论 -
10.C#:实体框架EF(entity framework)
本文来自:https://msdn.microsoft.com/zh-cn/library/gg696172(v=vs.103).aspx实体框架实体框架是支持开发面向数据的软件应用程序的一系列技术。实体框架使开发人员能够以特定于域的对象和属性(如客户和客户地址)形式使用数据,而不必自己考虑存储这些数据的基础数据库表和列。借助实体框架,开发人员在处理数据时能够以更高的抽象级别工作,并且转载 2017-01-16 16:46:43 · 23517 阅读 · 1 评论 -
25、C#:C#中Abstract和Virtual
本文来自:http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。vi转载 2017-07-10 10:39:46 · 237 阅读 · 0 评论