【C#基础知识之反射】教程文章相关的互联网学习教程文章

C# 基础知识系列- 1 数据类型

常见数据类型 C#的类型一般分为值类型、引用类型两大类型。 值类型的实例存放在栈中,引用类型会在栈中放置一个指针指向堆中的某一块内容。 C#为我们内置了几个数据类型供我们使用:关键词简写 对应的类全称(点击可以查看对应的API) 值范围 说明bool System.Boolean true、false 该类型只有两个值,用作判断,表示“是”、“否”sbyte System.SByte -128 ~ 127 (-27~27-1) 该类型在内存中使用8个bit进行存储,而且带有符号。根据最...

c#基础知识总结(一)--菜鸟篇【图】

原文链接:http://www.cnblogs.com/wp7t-bokeyuan/archive/2012/06/27/2566245.html 在使用vs的过程中,有几个技巧的总结,对于控制台程序,一个解决方案里面可以包含多个项目,所以常见的设子启动项有两种方法,一种就是点击右键,设置为启动项,第二种就是右键点击解决方案,然后选择属性,再选择当前选定内容即可,然后当你选中哪个项目就会执行哪个项目。 .NET与C#分别表示的是什么? .NET指的是.NET Framework框架,它...

C#基础知识之扩展方法【代码】【图】

扩展方法需要满足的条件: 1、扩展方法必须定义在静态类里。 2、扩展方法必须是静态方法。 3、扩展方法的第一个参数以this修饰符为前缀。 4、扩展方法必须在使用它的类的扩展方法内,否则必须显示的using扩展方法所在的命名空间。 5、扩展方法只能被对象调用。 6、其他命名空间下的扩展方法优先级低于当前命名空间的扩展方法。 7、扩展方法完成之后,必须重新生成一次才会有有代码提示。 先写个简单的示例: public static class D...

C#基础知识之反射【代码】【图】

两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和地核。地壳是固体,地...

C# 创建线程的多种方式之 线程池和任务 基础知识【代码】

1. 线程池 创建,释放线程都需要消耗很多时间,所以如果有许多的用时较短的小任务需要同时完成且不需要过多的控制,则可以选择线程池来实现,即ThreadPool类. 对于线程所执行的任务来说,可以把线程分为两种类型:工作者线程和I/O线程。工作者线程用来完成一些计算的任务,在任务执行的过程中,需要CPU不间断地处理,所以,在工作者线程的执行过程中,CPU和线程的资源是充分利用的。对于I/O线程,在.Net中通过以Begin开头的方法来...

关于C#中Anonymous Method---匿名方法的基础知识

Anonymous Method--匿名方法说的是不对方法进行显式定义而将方法的执行代码直接封装到Delegate对象中,这样做的好处不仅仅是简化代码这么简单,它还可以帮助你进行多个方法间的状态共享和将代码段作为参数进行传递。 一、Anonymous Method初探下面看一个不使用Anonymous Method的例子: using System; using System.Collections.Generic; using?System.Windows.Forms;namespace?Anonymous_Method { ????static?class?Program ????{...

c#基础知识梳理(五)【代码】【图】

上期回顾 - https://www.cnblogs.com/liu-jinxin/p/10831189.html 一、运算符重载您可以重定义或重载 C# 中内置的运算符。因此,程序员也可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表。示例代码: 1 using System;2 3 namespace OperatorOvlApplication4 {5 class Box6 {7 private double leng...

C# 篇基础知识4——委托和事件【图】

事件处理程序是基于“委托”机制运行的。 1.委托 (1)委托的定义和使用 有时需要将一个函数作为另一个函数的参数,这时就要用到委托(Delegate)机制。例如设计一个马戏表演函数: //定义委托 delegate void AnimalPlay(string name); static void CircusStart(AnimalPlay animalPlay, string name){ animalPlay(name); } 这里AnimalPlay是委托的类型,而animalPlay是委托,调用时可以: //把函数DogPlay()转换为AnimalPlay 型委...

C#基础知识之扩展方法【代码】

什么是扩展方法 扩展方法是一种特殊类型的静态方法。对于一个C#类型,如类(包括密封类)、值类型、接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员。因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过扩展方法就可以轻而易举地实现,这也是“扩展”的意义所在。 扩展方法需要满足的条件: 1、扩展方法必须定义在静态类里。 2、扩展方法必须是静态方法。 3、扩展方法的第一个参数以this修饰符...

c#基础知识梳理(二)【代码】【图】

一、变量一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作(一)、变量的分类C# 中提供的基本的值类型大致可以分为以下几类:类型 举例整数类型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char浮点型 float 和 double 十进制类型 decimal布尔类型 true 或 false 值,指定的值空类型 可...

C# 篇基础知识一编译

编译:C#语言要经过两次编译,程序员编写好源代码后进行第一次编译,将源代码编译为微软中间语言(MSIL),生成可以发布的应用软件;当用户使用软件时,MSIL代码会在首次载入内存后进行第二次编译,中间语言被编译为机器语言,以供计算机执行。对于同一段MSIL代码,第二次编译只在代码首次载入内存时发生,编译结果被暂时保存起来,以供重复利用。并且第二次编译是按需编译的,即用到那段就编译那段,不用到的不编译,所以这种需要...

C#中的多线程 - 基础知识【图】

来源: C#中的多线程 - 基础知识 简介及概念 C# 支持通过多线程并行执行代码,线程有其独立的执行路径,能够与其它线程同时执行。 一个 C# 客户端程序(Console 命令行、WPF 以及 Windows Forms)开始于一个单线程,这个线程(也称为“主线程”)是由 CLR 和操作系统自动创建的,并且也可以再创建其它线程。以下是一个简单的使用多线程的例子: ?所有示例都假定已经引用了以下命名空间:using System; using System.Threading; cla...

[C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情 (转载)【代码】【图】

当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的——既然上一专题中说事件是一个多播委托,然而自动生成的代码中只有事件的实例化,却没有看到事件的调用,那既然没有事件调用的代码,那封装的Click为什么会执行呢? 一、点击按钮时触发Click事件背后发送的事情 在引言中提出了我的提问的, 我...

[C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型 (转载)【代码】【图】

引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解,那就让我们一起进入本专题的学习的。 一、泛型的是什么泛型的英文解释为generic,当然我们查询这个单词时,更多的解释是通用的意思,然而有些人会认为明明是通用类型,怎么成泛型了的,其实这两者并不冲突的,泛型本来代表...