C#
likingsn
这个作者很懒,什么都没留下…
展开
-
迭代器(C# 编程指南)
迭代器是一种方法、get 访问器或运算符,它通过使用 yield 关键字对数组或集合类执行自定义迭代。yield 返回语句会导致源序列中的元素在访问源序列中的下一个元素之前立即返回给调用方。尽管您以方法的形式编写迭代器,但编译器会将其转换为一个实际上是状态机的嵌套类。只要客户端代码中的 foreach 循环继续进行,此类就会跟踪迭代器的位置。 将使用 foreach 语句从客户端代码转载 2013-12-20 11:07:07 · 761 阅读 · 0 评论 -
C# 集合类Dictionary的遍历和修改(防止错误:集合已修改;可能无法执行枚举操作。)
C#中直接对集合Dictionary进行遍历并修改其中的值,会报错,如下代码就会报错:集合已修改;可能无法执行枚举操作。代码如下 public void ForeachDic() { Dictionary dic = new Dictionary(); dic.Add("1", 10); dic.Add("2", 20)原创 2015-03-26 17:00:41 · 12771 阅读 · 0 评论 -
C#调用函数传参数IEnumerable<ClassA> classlist.ToList(),不会改变classlist
抱歉标题起的太长,意思是这样的,C#中,如果一个函数的定义这样的void Method(List classlist);而变量是IEnumerable classAlist。如果这样调用 Method(classAlist.ToList());,这样是不会改变classAlist里的值,原因是调用方法时会隐形的生成一个临时变量来保存classAlist.ToList(),当调用完成以后,此原创 2015-06-18 15:42:53 · 1983 阅读 · 0 评论 -
MVC View中Model是List<dynamic>时不能使用Html.DisplayFor
今天写MVC项目代码,浪费了我一下午的时间,原因是View的Model是List,View代码中使用了Html.DisplayFor,一直无法展现页面,折腾了一下午,最后把Html.DisplayFor去掉,直接使用@modelitem.xxx,就可以了。不知道其中的原因是什么,记下来,备忘,有空查查资料。无法展现的页面的代码如下:@model List//........原创 2015-08-06 17:41:58 · 2606 阅读 · 0 评论 -
ASP.NET身份验证——Form身份认证
细说ASP.NET Forms身份认证用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。 由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。 这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。 这篇博客主要讨论的话题是:转载 2015-11-03 11:49:26 · 3933 阅读 · 1 评论 -
C#面试题小计
托管和非托管的关系和区别(转帖) 关键是要了解CLR(公共语言运行时) .Net Framework 是由彼此独立又相关的两部分组成:CLR 和 类库, CLR是它为我们提供的服务,类库是它实现的功能. .NET的大部分特性----垃圾收集,版本控制,线程管理等,都使用了CLR提供的服务 当你为.NET Framework编转载 2014-09-21 15:38:29 · 683 阅读 · 0 评论 -
C#面试题小计2
C#技术类面试、笔试题汇总注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系。 下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能“以不变应万变”。回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了。 1、简述 private转载 2015-11-04 16:09:55 · 1544 阅读 · 0 评论 -
ASP.NET身份验证——Windows身份认证
细说ASP.NET Windows身份认证阅读目录开始认识ASP.NET Windows身份认证访问 Active Directory在ASP.NET中访问Active Directory使用Active Directory验证用户身份安全上下文与用户模拟在IIS中配置Windows身份认证关于浏览器的登录对话框问题在客户端代码中访问Windows身份认证的页面转载 2015-11-03 11:08:36 · 8425 阅读 · 0 评论 -
C# FTP常用操作
/// /// 上传文件 /// /// 需要上传的文件 /// 目标路径 /// ftp地址 /// ftp用户名 /// ftp密码 public static void UploadFile(FileInfo fileinfo, string t转载 2016-01-11 16:51:03 · 1076 阅读 · 0 评论 -
C# FTP常用操作 FTP上传文件 FTP下载文件 FTP删除文件
using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Net;using System.Windows.Forms;using System.Globalization; namespace FtpLib{ public class Ft转载 2015-01-13 11:29:11 · 943 阅读 · 0 评论 -
C# Enum与int,string互相转换
usingSystem; classProgram{ publicenum Color { Red = 0xff0000, Orange = 0xFFA500, Yellow = 0xFFFF00, Lime = 0x00FF00,转载 2014-11-10 15:28:22 · 3360 阅读 · 0 评论 -
多线程调试
10.3.3 调试多线程应用程序多线程应用程序是在给定的进程中有多于一个的线程在运行的应用程序。默认情况下,每个运行应用程序的进程有至少一个执行线程。你也许创建多个线程来做并行处理。这可以显著地提升性能,尤其在运行今天的多核处理器和超线程技术的时候。然而,多线程也带来了更大的开销。代码变得更加复杂难写且更难于调试。如果你曾写过多线程应用程序,你就知道了。幸好,Visual stud转载 2013-12-25 11:18:19 · 1353 阅读 · 0 评论 -
Interlocked.Increment 方法 和Interlocked.Decrement 方法作用
Interlocked.Increment 方法:让++成为原子操作;Interlocked.Decrement 方法让--成为原子操作。什么叫原子操作呢。就是不会被别人打断,因为C#中的一个语句,编译成机器代码后会变成多个语句。在多线程环境中,线程切换有可能会发生在这多个语句中间。使用Interlocked.Increment,Interlocked.Decrement 可以避免被打断,转载 2013-12-25 11:18:37 · 2227 阅读 · 1 评论 -
C#序列化(Serialize)、反序列化(Deserialize)
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的转载 2013-12-24 17:08:00 · 1275 阅读 · 0 评论 -
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
Winform开始时碰到错误提示:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE原创 2014-01-20 16:48:04 · 1851 阅读 · 0 评论 -
Regex.Match(string str)导致str堆栈内存被一直占用
代码中使用了Regex.Match(string str)函数,原创 2014-07-16 16:38:07 · 1577 阅读 · 0 评论 -
C#中的lock和Monitor类功能相通
C#中的lock和Monitor类功能相通,两者原创 2014-07-17 17:09:43 · 780 阅读 · 0 评论 -
C#lock C#lock(this)
在以前编程中遇到lock问题总是使用lock(this)一锁了之,出问题后翻看MSDN突然发现下面几行字:通常,应避免锁定 public 类型,否则实例将超出代码的控制范围。常见的结构 lock (this)、lock (typeof (MyType)) 和 lock ("myLock") 违反此准则:如果实例可以被公共访问,将出现C# lock this问题。如果 MyType 可以被公共访问,转载 2014-07-17 11:10:04 · 2005 阅读 · 0 评论 -
托管代码和非托管代码
理解托管代码和非托管代码的区别关键是要了解CLR(公共语言运行时)。.Net Framework 是由彼此独立又相关的两部分组成:CLR 和 类库, CLR是它为我们提供的服务,类库是它实现的功能。 .NET的大部分特性——垃圾收集,版本控制,线程管理等,都使用了CLR提供的服务…… 当你为.NET Framework编译源代码的时候,得到的目标代码不是CPU能识别的机器指令,而是一种叫做"转载 2014-09-21 16:35:34 · 672 阅读 · 0 评论 -
C#读写文件总结
1、使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System.IO; 读文件核心代码: byte[] byData = new byte[100];char[] charData转载 2016-01-12 10:50:40 · 485 阅读 · 0 评论