C#语法
zy0421911
这个作者很懒,什么都没留下…
展开
-
vs 添加自定义代码段的方法
工具-->代码段管理器 选择对应的语言和目录 复制目录信息 打开目录 随便找一个代码段复制出来并修改相应的内容, 主要是 Title Shortcut //一定要修改对应的格式 不然出不来 <![CDATA[ #region $name$ //代码段第一部分$selected$$end$原创 2016-04-25 12:42:44 · 1261 阅读 · 0 评论 -
log4net 错误日志的使用
log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来分析系统问题所在。Log4J。对于网站来讲,不能把异常信息显示给用户,异常信息只能记录到日志,出了问题把日志文件发给开发人员,就能知道问题原创 2016-04-29 17:30:29 · 1138 阅读 · 0 评论 -
.Net经典面试题
经典.net面试题目1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空转载 2017-02-12 00:25:47 · 18912 阅读 · 1 评论 -
C# 经典语法
1)async / await使用async / await-pattern允许在执行阻塞操作时解除UI /当前线程的阻塞。async / await-pattern的工作原理是让代码继续执行,即使在某些东西阻塞了执行(如Web请求)的情况下。阅读更多有关async / await-pattern的信息,请访问:https://msdn.microsoft.com/en-us/li转载 2016-12-26 17:29:22 · 340 阅读 · 0 评论 -
解决ASP.NET MVC(post数据)Json请求太大,无法反序列化
这个问题出现的场景并不是很多,当你向服务端异步(ajax)post数据非常大的情况下(比如做权限管理的时候给某个角色分配权限那么就可能会出现,我所遇到的就是该角色大概200个模块每个模块平均2个功能----那么发送到服务端action的将是一个有着400个对象的数组)之前我们向服务端异步post数组可能需要使用 1 $.ajax({ 2转载 2017-02-03 15:33:01 · 9575 阅读 · 0 评论 -
关于DataSet、DataView、DataTable、DataRow、时间格式转换的一些用法
1、DataTable 绑定至视图 DataView : DataView dataView= dataTable.DefaultView; 这样做的目的是 可以方便的用一些视图数据检索功能 例如RowFilter2、DataView 转换成一个新的DataTable : DataTable dataTable= dataView.ToTable(true, "列名1","列名2原创 2017-03-28 20:59:11 · 6095 阅读 · 0 评论 -
WebService对象可空、nillable、minOccurs 、转xml字段丢失
从WebService 引用来的模型 根据wsdl中 nillable、minOccurs的不同 可能会生成后缀带Specified的bool类型属性,此时这个属性默认值是false 当被转换成xml的时候 这个属性就会丢失(被忽略),如果想不被忽略 就要手动改成true .具体原因见下面的引文:http://blog.csdn.net/lubiaopan/article/details/1转载 2017-04-01 15:22:22 · 3775 阅读 · 0 评论 -
C#的扩展方法
C#的扩展方法扩展方法的目的就是为一个现有类型添加一个方法,现有类型既可以是int,string等数据类型,也可以是自定义的数据类型。为数据类型的添加一个方法的理解:一般来说,int数据类型有个Tostring的方法,就是把int 数据转换为字符串的类型,比如现在我们想在转换成字符串的时候还添加一点东西,比如增加一个字符 a .那么之前的Tostring就不好使了,因为它只是它转载 2017-03-28 21:07:03 · 235 阅读 · 0 评论 -
大批量快速导出Excel方法
我的方法不是使用微软的excel操作类,因为那种实在爆慢,一个个单元格循环写,实在太慢了。【不信朋友们可以试试】而使用io写的话 半分钟都不用我数据库数据量为:120000行 29列技术要点:1.使用的是StreamWriter sw = new StreamWriter(path, false,Encoding.GetEncoding("gb2312"));最终生成文件2.转载 2017-07-07 14:35:45 · 2313 阅读 · 0 评论 -
如何修改已编译的dll文件
我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果;本文将通过一个实例来演示如果完成一个简单的修改;我们将会用到以下几种工具;1:微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;可以在C:\Program Files\Microsoft SDKs\Windo转载 2017-06-13 16:25:02 · 104748 阅读 · 3 评论 -
Linq 中的分组查询求和排序
12345678910111213var listTemp = from a in list group a by new { a.SectionCode } into g //分组原创 2017-09-11 10:00:54 · 1450 阅读 · 0 评论 -
List按某些字段去重
list= list.Where((x, i) => list.FindIndex(z => z.pro1 == x.pro1&&z.pro2==x.pro2) == i).ToList();原创 2018-03-01 14:59:59 · 1150 阅读 · 0 评论 -
关于LINQ 和lambda表达式
一LINQ : LINQ表达式的from行可以嵌套 实现表多层关联一层层向下找的目的 (注意一对一还是一对多的对应关系 容易乱 别把上层过滤掉的内容又关联回来了) from r in userInfo.RoleInfo from a in r.ActionInfo where a.ActionTypeEnum == act转载 2016-05-12 11:13:32 · 5856 阅读 · 0 评论 -
C#代码发送get/post请求的方法
发送GET请求: public static class HttpHelper { /// /// 通过GET方式获取页面的方法 /// /// 请求的URL /// 页面编码 /// public static string Get(string urlString)原创 2016-09-06 11:41:21 · 5576 阅读 · 0 评论 -
泛型类型参数约束 <T> where T : class,new(){}
.NET支持的类型参数约束有以下五种:where T : struct | T必须是一个结构类型where T : class | T必须是一个类(class)类型,不能是结构(structure)类型where T : new()转载 2016-04-18 14:21:09 · 4719 阅读 · 0 评论 -
.net 调用SQL数据库存储过程 并取得返回值
SqlParameter returnValue= new SqlParameter("@ReturnValue",SqlDbType.Decimal,4,ParameterDirection.Output,true,8,2,null, DataRowVersion.Default,null);//在此处设置返回值的类型,长度,精确度 ,是否为空等(构造函数最长的重载) using (SqlCo原创 2016-04-10 13:14:38 · 633 阅读 · 0 评论 -
关于Common类中的静态方法,静态构造函数总结
静态类不中不能含有非静态成员,非静态类可以含有静态或者非静态成员,静态成员通过类名点出来调用,非静态通过创建类的实例来调用。静态构造函数:可以和不带参数的非静态构造函数共存。项目中Common 一般用于存放工具类,例如MD5Helper ,PageBarHelper,CacheHelper等等。这种类一般都习惯定义成非静态类,但是里面的方法一般都是静态方法。可以存在静态构造函数,这原创 2016-04-30 20:16:22 · 1059 阅读 · 0 评论 -
单例模式
它的主要特点不是根据客户程序调用生成一个新的实例,而是控制某个类型的实例数量-唯一一个。(《设计模式-基于C#的工程化实现及扩展》,王翔)。也就是说,单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。一、经典模式:public class Singleton{ private static Si转载 2016-05-14 00:29:08 · 244 阅读 · 0 评论 -
关于报错Self referencing loop detected with type的原因以及解决办法
这种错误是由于使用EF创建实体模型,并且模型间有关系并且添加了相应的导航属性,所以使用Json.net转换类的实例的时候 把导航属性也算进去了(A是B的导航属性,B也是A的导航属性,所以会无限循环,导致Json会生成无数层),一般这种错误在低版本的EF中会产生,最新的已经更正了,如果遇到,解决办法是手动禁止Json.net对导航属性的转换:在实体模型类中添加using Newtonsoft.J原创 2016-05-06 14:03:52 · 13868 阅读 · 1 评论 -
报错: LINQ to Entities does not recognize the method...and this method cannot be translated into a sto
var userInfoList=userInfoService.LoadPageEntities(u => u.DelFlag == Convert.ToInt16(DelFlagEnum.Normal), u => u.ID,pageIndex,pageSize, true, out totalCount);报这个错 是因为本表达式只是LINQ to Entities,而不是真正的C#语转载 2016-04-22 18:49:28 · 4756 阅读 · 0 评论 -
相对路径和绝对路径的区别
绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe实际上,严格的相对路径写法应为.\system32\cmd.exe其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。假如当前路径为c:\program转载 2016-04-20 13:22:41 · 699 阅读 · 0 评论 -
Convert.ToInt32、(int)和int.Parse三者的区别:
前者适合将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]);(int)适合简单数据类型之间的转换;int.Parse适合将string类类型转换成int类型,如int.Parse(session["shuzi"].ToString())。(1)这两个方法的最大不同是它们对null值的处理方法:Convert.ToI转载 2016-05-07 18:18:27 · 356 阅读 · 0 评论 -
var和dynamic的区别
1. var表示“变量的类型是在编译时决定的”, var让你在初始化变量时少输入一些字,编译器会根据右值来推断出变量的类型, var只能用于局部变量的定义,你不能把类的属性定义成 var,也不能把方法的返回值类型或者是参数类型定义成var2. dynamic表示“变量的类型是在运行时决定的”,动态语言运行时(dynamic language runtime DLR)是.NET Fram转载 2016-04-24 16:12:34 · 2425 阅读 · 0 评论 -
正则表达式大全
常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删转载 2016-04-15 11:09:48 · 224 阅读 · 0 评论 -
多线程-循环执行-含参方法-等待全部完成
using System;using System.Threading;namespace ThreadDemo{ class Program { static void Main(string[] args) { ManualResetEvent[] _ManualEvents = new ManualResetEv...原创 2018-03-29 09:20:03 · 735 阅读 · 0 评论