随笔分类 -  01-c#基础

上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要:///会被编译,//不会所以使用///会减慢编译的速度(但不会影响执行速度)///会在其它的人调用你的代码时提供智能感知也是一种注释,但是这种注释主要有两种作用:1.这些注释能够生成一个XML文件。这样呢,看起来会对程序的内容一目了然。2.以这种方式对你的类,属性,方法等等加上注释之后,当你在其他地 阅读全文
posted @ 2020-07-21 14:54 Linybo2008
摘要:1.delegate MSDN:一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。 class Program { const int num = 100; delegate bool del 阅读全文
posted @ 2020-07-21 10:15 Linybo2008
摘要:Lambda表达式可分为表达式lambda和语句lambda 表达式lambda:表达式位于 => 运算符右侧的lambda表达式称为表达式lambda (input parameters) => expression //表达式lambda 例如 (x, y) => x == y 语句lambda 阅读全文
posted @ 2020-07-21 10:13 Linybo2008
摘要:在这篇文章中,我们假定读者了解VS基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数) F10 步过函数(如果当前程序指针指向一个函数) Shift+F11 步 阅读全文
posted @ 2020-07-20 09:47 Linybo2008
摘要:随Visual Studio 2010 CTP亮相的C#4和VB10,虽然在支持语言新特性方面走了相当不一样的两条路:C#着重增加后期绑定和与动态语言相容的若干特性,VB10着重简化语言和提高抽象能力;但是两者都增加了一项功能:泛型类型的协变(covariant)和抗变(contravariant) 阅读全文
posted @ 2020-07-19 16:54 Linybo2008
摘要:在.net4之前,泛型接口是不变的。.net4通过协变和抗变为泛型接口和泛型委托添加了一个重要的扩展。 1、协变:如果泛型类型用out关键字标注,泛型接口就是协变的。这也意味着返回类型只能是T。 实例: 1 static void Main(string[] args) 2 { 3 IIndex<R 阅读全文
posted @ 2020-07-19 16:03 Linybo2008
摘要:六种类型的约束: where T:stuct 类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可空类型(C# 编程指南)。 where T:class 类型参数必须是引用类型,包括任何类、接口、委托或数组类型。 where T:new() 类型参数必须具 阅读全文
posted @ 2020-07-19 15:31 Linybo2008
摘要:default 关键字有两类用法 switch语句中指定默认标签 默认值表达式 switch 语句# int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Conso 阅读全文
posted @ 2020-07-19 15:21 Linybo2008
摘要:一、using指令 在文件顶部引用命名空间,如:using System; 二、using别名 为命名空间或类型定义别名,这种做法有个好处就是当同一个cs文件引用了两个不同的命名空间,但是两个命名空间都包括了一个相同名字的类型的时候,就会为此类型命名空间创建别名。 using System; usi 阅读全文
posted @ 2020-07-19 14:51 Linybo2008
摘要:在我们程序中,经常有这样一些需求: 1. 需要一个临时方法,这个方法只会使用一次,或者使用的很少。 2. 这个方法的方法体很短,以至于比方法声明都短,写起来实在没劲(我将其称之为“一句话方法”)。 没办法,这样的方法写起来真是吃力不讨好,比如一些按钮事件处理中,有些按钮点击就是弹出一个对话框,或者调 阅读全文
posted @ 2020-07-19 14:23 Linybo2008
摘要:一、Action泛型委托 和之前委托最大区别在于不用定义委托,直接实例化委托(申明就可以),泛型其实就是选择数据类型,进行使得程序更加安全,并且也实现了委托的重载,最多选择16个参数。 namespace 自定义委托 { class Program { Action<string> actHandl 阅读全文
posted @ 2020-07-19 14:19 Linybo2008
摘要:一、一般委托方式 Func<int, int, int> AddMethodHander; public unName() { AddMethodHander += AddMethod; } public int AddMethod(int num1, int num2) { int result 阅读全文
posted @ 2020-07-19 14:18 Linybo2008
摘要:ExpandoObject:表示一个对象,该对象包含可在运行时动态添加和移除的成员。 dynamic dynEO = new ExpandoObject(); //初始化一个不包含任何成员的ExpandoObject dynEO.number = 10; dynEO.Increment = new 阅读全文
posted @ 2020-07-17 16:19 Linybo2008
摘要:介绍 Visual C# 2010 引入了一个新类型 dynamic。 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查。 大多数情况下,该对象就像具有类型 object 一样。 在编译时,将假定类型化为 dynamic 的元素支持任何操作。 因此,您不必考虑对象是从 COM 阅读全文
posted @ 2020-07-17 16:16 Linybo2008
摘要:本来准备直接进入Dapper的, 但是昨天初步看了一下, 内容不少, Dapper不愧是一款成熟的框架, 里面对各种情况的考虑, 很实用, 不过这也使得我短时间内看不完, 所以得等几天了. 那就先来看看循环和异常吧, 看IL跳转的时候, 有一个标签, 跳来跳去的, 在OpCodes里面, 也是有对应 阅读全文
posted @ 2020-07-17 15:30 Linybo2008
摘要:上一篇介绍了 IL 的部分, 基础的部分, 暂时就介绍到那里了, 接下来要进入代码编写阶段了. 今天的主题是 在代码运行的过程中, 去动态的创建类, 属性, 方法. 来源:http://www.cnblogs.com/yingql/archive/2009/03/22/1419149.html 废话 阅读全文
posted @ 2020-07-17 15:29 Linybo2008
摘要:上周末回家去享受生活了, 工作是为了更好的生活嘛, 所以我把生活, 工作分的比较开. 这几天不是很忙, 在学习工作技能的同时, 发点博文, 也算是做一个学习笔记 上篇中, 贴出的地址里面那位哥, 也有一篇值类型和引用类型的文章 来源:http://www.cnblogs.com/yingql/arc 阅读全文
posted @ 2020-07-17 15:22 Linybo2008
摘要:之前看过Dapper(使用到了Emit), CYQ.Data(另一种思路,没有使用Emit)类的框架之后, 也想自己做一个小框架玩一下, 不过此时能力太过欠缺, 做不了Cyq.Data或者PDF.Net此类的框架, 所以开始了学习之路. 先制定一个能达到的小目标吧, 从Emit开始. 可能很多人还不 阅读全文
posted @ 2020-07-17 15:03 Linybo2008
摘要:先说说学IL有什么用,有人可能觉得这玩意平常写代码又用不上,学了有个卵用。到底有没有卵用呢,暂且也不说什么学了可以看看一些语法糖的实现,或对.net理解更深一点这些虚头巴脑的东西。最重要的理由就是一个:当面试官看你简历上写着精通C#时,问你一句: "懂不懂IL?" 怎么回答? "不好意思,那东西没什 阅读全文
posted @ 2020-07-17 14:57 Linybo2008
摘要:通过前面两篇,我想各位朋友对“面向接口编程”的思想有了一定认识,并通过第二篇的例子,获得了一定的直观印象。但是,第二篇中的例子旨在展示面向接口编程的实现方法,比较简单,不能体现出面向接口编程的优势和这种思想的内涵。那么,这一篇作为本系列的终结篇,将通过分析几个比较有深度的模式或架构,解析隐藏其背后的 阅读全文
posted @ 2020-07-16 17:38 Linybo2008

上一页 1 2 3 4 5 6 7 ··· 11 下一页