C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  .Net基础

.Net基础备忘
摘要:一、Func Func是一个.Net内置的委托。 Func<Result>,Func<T1,Result>是一个.Net内置的泛型委托。 Func<TResult> Func<T,TResult> Func<T1,T2,TResult> Func<T1,T2,T3,TResult> Func<T1, 阅读全文
posted @ 2016-07-15 19:32 逆心 阅读(11245) 评论(0) 推荐(1) 编辑

摘要:IModelBinder的学习不算深入,现在用它来实现一个json转Dictionary<string, string> 一、原始json转Dictionary<string, string> 如果不用IModelBinder,那么将Json字符串转换为Dictionary<string, stri 阅读全文
posted @ 2016-04-22 09:29 逆心 阅读(1672) 评论(1) 推荐(1) 编辑

摘要:这几天开发一个程序,需要将一个图片旋转360度然后每一个角度保存下来。刚开始本来想着是让美工弄的,但是让一个美工手动转360度,她会喷你一脸。 using System; using System.Collections.Generic; using System.Drawing; using Sy 阅读全文
posted @ 2016-04-22 09:27 逆心 阅读(2644) 评论(0) 推荐(1) 编辑

摘要:以前需要将一段json字符串转换为C#对象时,一般都是定义一个与之对应的实体类来接收。这样做有一个很大的缺点,就是当字符串特别长,属性特别多,又有嵌套时,手敲这个实体类就非常痛苦。 比如之前做的一个接收百度七天天气预报的API,层层嵌套,很痛苦。 C# 4.0 之后有了动态类型dynamic。用这个 阅读全文
posted @ 2016-04-22 09:26 逆心 阅读(11670) 评论(2) 推荐(2) 编辑

摘要:在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求。 由于这种限制不方便,所以出现了ArrayList。 ArrayList、List<T> ArrayList是可变长数组,你可以将任意多的数据Add到ArrayList里面。其内部维护的数组,当长度不足时,会自动扩容为原来的两倍。 但是 阅读全文
posted @ 2016-04-22 09:24 逆心 阅读(5468) 评论(0) 推荐(7) 编辑

摘要:排列组合的概念 排列:从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement)。 组合:从m个不同的元素中,任取n(n≤m)个元素为一组,叫作从m个不同元素中取出n个元素的一个组合。 排列组合实现代码 上一个项目做的一个水路的路 阅读全文
posted @ 2016-04-22 09:23 逆心 阅读(13044) 评论(3) 推荐(4) 编辑

摘要:一、全局设置的方式(貌似不行) SVN忽略文件夹刚开始用的是这种方式: Settings => Subversion里的Global ignore pattern增加这两项*/bin */obj。 后来发现这样操作无效。 二、属性的方式 于是换成第二种方式 Properties => News => 阅读全文
posted @ 2016-04-22 09:05 逆心 阅读(6574) 评论(1) 推荐(0) 编辑

摘要:前两天开发一个奇葩的功能,突然间想到了用打乱顺序的方式解决。记录代码如下: 原理很简单,循环所有 =》 第N位,与"随机数"位交换。 阅读全文
posted @ 2016-04-21 18:46 逆心 阅读(1019) 评论(2) 推荐(0) 编辑

摘要:首先启动.NET Reflector,然后添加进入dll或exe。然后选择Export Source Code...,将反编译后的代码文件,生成到指定目录。 到这一步骤时,稍等一会,就能够在指定目录就能够看到反编译出来的项目文件了 如果此时你注意的话,发现我们反编译出来的代码是... 阅读全文
posted @ 2014-12-01 20:37 逆心 阅读(1727) 评论(0) 推荐(1) 编辑

摘要:在.Net中,对于相同的字符串,.Net会将它们指向同一个地址,它们是相同的实例。.Net中的字符串并不会更新,当更改一个字符串变量时,由于字符串的不可变性,.Net实际上是新创建一个字符串,而将变量地址指向新创建的字符串地址。 string s1 = "Hello"; string s... 阅读全文
posted @ 2014-05-19 11:26 逆心 阅读(1320) 评论(2) 推荐(1) 编辑

摘要:最近的一个B/S系统中,用到了指模录入,当用户按了手指摸之后,要在IE浏览器的一个文本框上显示用户的姓名。由于要监控指模机的输入,因此客户端需要装一个.net控制台程序,通过此控制台程序监控指模机。这个没办法。这个.net控制台程序装在公司前台的电脑上就OK了。然后通过局域网与指模机相联,当用户... 阅读全文
posted @ 2014-05-13 16:09 逆心 阅读(40525) 评论(9) 推荐(4) 编辑

摘要:一、引入类型与值类型简介 值类型:直接存放于栈中,取的时候是直接取得值。值类型继承自System.ValueType。(自定义对象) 引用类型:存在于托管堆中,取的时候是从栈取该对象的地址,然后用这个地址去托管堆中取值。引用类型继承自System.Object。(int,bool,struct)... 阅读全文
posted @ 2014-05-08 17:32 逆心 阅读(1862) 评论(0) 推荐(0) 编辑

摘要:一、事件引起的内存泄露 1、不手动注销事件也不发生内存泄露的情况 我们经常会写EventHandler += AFunction; 如果没有手动注销这个Event handler类似:EventHandler –= AFunction 有可能会发生内存泄露。 public class Pr... 阅读全文
posted @ 2014-04-18 09:23 逆心 阅读(2600) 评论(0) 推荐(3) 编辑

摘要:一、一般用法说明 ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型,也可以是bool或object类对象。 二、ToString()和Convert.ToString( 阅读全文
posted @ 2014-02-25 09:24 逆心 阅读(24560) 评论(2) 推荐(10) 编辑

摘要:System.Reflection.Assembly类是一个比较常用到的类,在反射中就经常用到。 由于这个类实在有太多的字段、属性与方法。实在不想将一个个属性方法从MSDN复制出来然后逐个属性、方法敲一次,我想改变一下学习方法,从实际运用学习。一、加载程序集并执行方法 使用反射加载程序集并执行方法,加载程序集主要使用LoadFrom()方法。 static void Main(string[] args) { Assembly ass = Assembly.LoadFrom(@"D:\test.dll"); Type type = ass.Get... 阅读全文
posted @ 2014-02-10 17:23 逆心 阅读(8078) 评论(0) 推荐(4) 编辑

摘要:一、ZipFile ZipFile类用于选择文件或文件夹进行压缩生成压缩包。 常用属性:属性说明Count文件数目(注意是在ComitUpdat之后才有)Password压缩包密码Size压缩包占用空间大小Name压缩包名称,默认输出是文件路径ZipEntry压缩包里的文件,通过索引[]访问 其常用方法如下:方法说明Add添加要进行压缩的文件AddDirectory添加文件夹(不会压缩文件夹里的文件)Delete删除文件或文件夹BeginUpdate开始修改压缩包CommitUpdate提交修改SetComment添加注释 示例1(创建压缩文件): using (ZipFile zi... 阅读全文
posted @ 2014-01-18 17:19 逆心 阅读(33217) 评论(5) 推荐(5) 编辑

摘要:TextReader以及TextWriter这两个类,非常有用,很多方法都接受它们作为参数。 TextReader有两个子类:StringReader/StringWriter 用于读取字符串;StreamReader/StreamWriter 用于读取流;一、StringReader的作用 StringReader主要用于读取字符串。 常用方法如下:成员说明Close关闭 StringReaderPeek返回下一个可用的字符,但不使用它Read读取输入字符串中的下一个字符并将该字符的位置提升一个字符,重载可提升任意个字符ReadAsync读取字符的指定最大数量从当前字符串异步和数据... 阅读全文
posted @ 2013-12-14 12:29 逆心 阅读(6033) 评论(0) 推荐(1) 编辑

摘要:一、深入了解.Net上下文3.1 .NET上下文的概念 应用程序域是进程中承载程序集的路基分区,在应用程序域当中,存在更细粒度的用于承载.Net对象的实体,用于承载.Net实体的东西就叫.Net上下文Context。所有的.Net对象都存在于上下文当中,每个AppDomain当中至少存在一个默认上... 阅读全文
posted @ 2013-11-29 09:12 逆心 阅读(4014) 评论(1) 推荐(2) 编辑

摘要:一、DES加解密 DES一共就有4个参数参与运作:明文、密文、密钥、向量。其中这4者的关系可以理解为: 密文=明文+密钥+向量; 明文=密文-密钥-向量; 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复,那么这个词加上密钥形成的密文,仍然会重复,这给破解者有机可乘,破解者可以根据重复的内容,猜出是什么词,然而一旦猜对这个词,那么,他就能算出密钥,整篇文章就被破解了!加上向量这个参数以后,每块文字段都会依次加上一段值,这样,即使相同的文字,加密出来的密文,也是不一样的,算法的安全性大大提高! 下面给出DES加、解密的.Net封装版:using System;using Sys... 阅读全文
posted @ 2013-10-24 14:42 逆心 阅读(3053) 评论(0) 推荐(0) 编辑

摘要:System.Object在.Net中是所有类型的基类,任何类型都直接或间接地继承自System.Object。没有指定基类的类型都默认继承于System.Object。基类特性 正由于所有的类型都继承于System.Object。因此,所有的类型都具有下面这些特性: GetType()方法,获取对象的类型。 Equals、ReferenceEquals和==,判断对象是否相等。 ToString()方法,获取对象的字符串信息,默认返回对象带命名空间的全名。 MemberwiseClone()方法,对象实例的浅拷贝。 GetHashCode()方法,获取对象的值的散列码。 F... 阅读全文
posted @ 2013-09-29 21:47 逆心 阅读(3174) 评论(0) 推荐(1) 编辑