• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
天空の纸飞机
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理
上一页 1 2

2018年3月31日

可选参数与命名参数
摘要: 另外再补充两个C# 4.0的新特性可选参数与命名参数: 1、可选参数 可选参数,顾名思义,它不是必需的。对于一般的参数,如果不为它指定值,可能会导出运行出错。但是可选参数不会。 可选参数的规则: 1、可选参数不能为参数列表第一个参数,它必须位于所有必选参数之后; 2、可选参数必须指定一个默认值; 3 阅读全文
posted @ 2018-03-31 18:26 天空の纸飞机 阅读(1003) 评论(0) 推荐(0)
 
迭代器
摘要: 在C# 1.0中我们经常使用foreach来遍历一个集合中的元素,然而一个类型要能够使用foreach关键字来对其进行遍历必须实现IEnumerable或IEnumerable<T>接口,(之所以来必须要实现IEnumerable这个接口,是因为foreach是迭代语句,要使用foreach必须要有 阅读全文
posted @ 2018-03-31 18:24 天空の纸飞机 阅读(392) 评论(0) 推荐(0)
 
位操作
摘要: 位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:· 按位与 & · 按位或 | · 按位取反 ~  阅读全文
posted @ 2018-03-31 18:04 天空の纸飞机 阅读(206) 评论(0) 推荐(0)
 
匿名方法
摘要: 一、概念: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace EventDemo { class Progra 阅读全文
posted @ 2018-03-31 18:02 天空の纸飞机 阅读(173) 评论(0) 推荐(0)
 
接口和抽象类
摘要: 什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可以实现多个接口,当一个类继承某个接口时,它不仅要实现该接口 阅读全文
posted @ 2018-03-31 18:00 天空の纸飞机 阅读(135) 评论(0) 推荐(0)
 
接口的用途
摘要: C#接口有三种用途: public interface IChargeable { } public class MyCharge : IChargeable { } public class ChargeFacility<TChargeable> where TChargeable : IChar 阅读全文
posted @ 2018-03-31 17:59 天空の纸飞机 阅读(339) 评论(0) 推荐(0)
 
弱引用(WeakReference)
摘要: 在应用程序代码内实例化一个类或结构时,只要有代码引用它,就会形成强引用.这意味着垃圾回收器不会清理这样的对象使用的内存.但是如果当这个对象很大,并且不经常访问时,此时可以创建对象的弱引用,弱引用允许创建和使用对象,但是垃圾回收器 运行时,就会回收对象并释放内存. 弱引用是使用WeakReferenc 阅读全文
posted @ 2018-03-31 17:55 天空の纸飞机 阅读(1849) 评论(0) 推荐(0)
 
 

2018年3月30日

对象复制
摘要: 浅度复制(MemberwiseClone) 演示代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace EventDemo { public class R 阅读全文
posted @ 2018-03-30 22:20 天空の纸飞机 阅读(187) 评论(0) 推荐(0)
 
is和as
摘要: 在.NET中,一切类型都必须集成自System.Object类型,因此我们可以很容易的获得对象的准确类型,方法是:GetType()方法。那么.NET中的类型转换,应该考虑的地方有那些呢? is的规则如下: 检查对象类型的兼容性,并返回结果,true或者false; 不会抛出异常; 如果对象为nul 阅读全文
posted @ 2018-03-30 22:16 天空の纸飞机 阅读(200) 评论(0) 推荐(0)
 
unsafe关键字
摘要: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Linq.Expressions; using System.Dynamic; using Syste 阅读全文
posted @ 2018-03-30 22:15 天空の纸飞机 阅读(141) 评论(0) 推荐(0)
 
using的几种用法
摘要: 1、using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间 例如:using System; 一般都会出现在*.cs中。 2、using别名。using + 别名 = 包括详细命名空间信息的具体的类型 这种做法有个好处就是当同一个cs引用了 阅读全文
posted @ 2018-03-30 22:12 天空の纸飞机 阅读(1334) 评论(0) 推荐(0)
 
C#中的Action和Func和Predicate
摘要: 一、【action<>】指定那些只有输入参数,没有返回值的委托 用了Action之后呢: 就是相当于省去了定义委托的步骤了。 演示代码: using System; using System.Collections.Generic; using System.Linq; using System.T 阅读全文
posted @ 2018-03-30 21:52 天空の纸飞机 阅读(2093) 评论(0) 推荐(0)
 
typeof() 和 GetType()区是什么
摘要: 1、typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称。 2、GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型。 比如有这样一个变量i: Int32 i = new Int 阅读全文
posted @ 2018-03-30 21:46 天空の纸飞机 阅读(178) 评论(0) 推荐(0)
 
C#关键字的使用
摘要: params object[] 用于函数多参数的定义 public static void Write(string format, params object[] arg); explicit 关键字用于声明必须使用强制转换来调用的用户定义的类型转换运算符。 例如,在下面的示例中,此运算符将名为 阅读全文
posted @ 2018-03-30 21:45 天空の纸飞机 阅读(1139) 评论(0) 推荐(0)
 
override与new的区别
摘要: using System; namespace ConsoleAppDemo { class BaseClass { public void Fun() { Console.WriteLine("BaseClass.Fun()"); } public virtual void VFun() { Co 阅读全文
posted @ 2018-03-30 21:38 天空の纸飞机 阅读(135) 评论(0) 推荐(0)
 
获取变量默认值
摘要: /// /// 获取变量默认值 /// /// /// private object DefaultForType(Type targetType) { return targetType.IsValueType ? Activator.CreateIn... 阅读全文
posted @ 2018-03-30 21:36 天空の纸飞机 阅读(147) 评论(0) 推荐(0)
 
分部类,分部方法 - 修饰符partial
摘要: 一、分部类 什么是部分类呢?简单来说就是将一个类型或方法拆分到两个或多个源文件中,每个源文件只包含类型定义的一部分。 当使用自动生成的源时,无须重新创建源文件便可将代码添加到类中。Visual Studio在创建Window窗体,Web服务包装代码时都是使用此方法。 1、分部类的特征 类的定义前要加 阅读全文
posted @ 2018-03-30 21:29 天空の纸飞机 阅读(389) 评论(0) 推荐(0)
 
扩展方法
摘要: 扩展方法可以理解为现有的类型(现有类型可以为自定义的类型和.Net 类库中的类型)扩展(添加)应该附加到该类型中的方法。 在没有扩展方法之前,如果我们想为一个已有类型自定义自己逻辑的方法时,我们必须自定义一个新的类型来继承已有类型的方式来添加方法 扩展方法必须具备下面的规则: 它必须在一个非嵌套、非 阅读全文
posted @ 2018-03-30 21:24 天空の纸飞机 阅读(487) 评论(0) 推荐(0)
 
异常处理 Exception
摘要: 一、异常类 1、在C#中所有的异常都是使用一个异常类型的示例对象表示的,这些异常类型都是继承自System.Exception类型,或者直接使用System.Exception类型的实例对象; 2、在C#中,位于finally块中的代码可以保证不管代码是正常结束,还是进入异常处理代码块,其中的语句均 阅读全文
posted @ 2018-03-30 21:07 天空の纸飞机 阅读(983) 评论(0) 推荐(0)
 
throw和throw ex的区别
摘要: 在C#中推荐使用throw;来抛出异常;throw ex;会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正的错误源。 throw的用法主要有以下几种: 第一种(不推荐使用),这样适用会吃掉原始异常点,重置堆栈中的异常起始点: try 阅读全文
posted @ 2018-03-30 21:03 天空の纸飞机 阅读(1088) 评论(0) 推荐(1)
 
 

2018年3月19日

预处理指令关键字
摘要: #if、#else、#elif、#endif 这组指令主要用于在调试环境下代码进行条件编译时,用于控制编译器对某个代码段是否进行编译。 #define release using System; using System.Collections.Generic; using System.Linq; 阅读全文
posted @ 2018-03-19 22:30 天空の纸飞机 阅读(207) 评论(0) 推荐(0)
 
sealed关键字
摘要: 1. sealed关键字 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。2. sealed 修饰方法或属性 能够允许类从基类继承,并防止它们重写特定的虚方法或虚属性。 阅读全文
posted @ 2018-03-19 22:24 天空の纸飞机 阅读(240) 评论(0) 推荐(0)
 
延迟初始化Lazy
摘要: 延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求。也可以称为,按需加载。 基本语法: Lazy<T> xx = new Lazy<T>();//xx代表变量名 举例实现: 首先创建一个Student类,代码如下: using System; namespace L 阅读全文
posted @ 2018-03-19 22:16 天空の纸飞机 阅读(979) 评论(0) 推荐(0)
 
索引器
摘要: 索引器与属性的不同点: 1、每个属性的名称必须唯一,而每一个索引器的签名必须唯一。 2、索引器的“属性名”统一为this。而不能为其他,专门用于定义索引器。 3、索引器的参数列表包含在方括号而不是圆括号之内。 4、属性可以是静态的,而索引器只能为实例成员。 5、属性的get访问器没有参数,而索引器的 阅读全文
posted @ 2018-03-19 21:58 天空の纸飞机 阅读(581) 评论(0) 推荐(0)
 
 
上一页 1 2

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3