
重拾C#教程
文章平均质量分 86
重拾C#开发语言
boonya
资深Java,热衷大数据,Python爬虫,持续探索副业中,有需要的可以加我微信联系:boonya221
展开
-
重拾C#日常积累:Json数据的序列化和反序列化
Json数据的序列化和反序列化,在很多语言里面都会涉及到,尤其是对外提供的接口。JSon工具包下载:https://www.newtonsoft.com/json添加引用工具包using Newtonsoft.Json;对象序列化为JSon string官方示例:Product product = new Product();product.Name = "Apple";product.Exp...原创 2018-04-13 16:49:11 · 419 阅读 · 0 评论 -
重拾C#教程:高级部分-索引器(Indexer)
原文地址:http://www.runoob.com/csharp/csharp-indexer.html索引器(Indexer) 允许一个对象可以像数组一样被索引。当您为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。您可以使用数组访问运算符([ ])来访问该类的实例。语法一维索引器的语法如下:element-type this[int index] {...转载 2018-04-13 13:46:10 · 385 阅读 · 0 评论 -
重拾C#教程:高级部分-属性(Property)
原文地址:http://www.runoob.com/csharp/csharp-property.html属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) ...转载 2018-04-13 13:42:20 · 484 阅读 · 0 评论 -
重拾C#教程:高级部分-反射(Reflection)
原文地址:http://www.runoob.com/csharp/csharp-reflection.html反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。优缺点优点:1...转载 2018-04-13 13:15:09 · 351 阅读 · 0 评论 -
重拾C#教程:高级部分-特性(Attribute)
原文地址:http://www.runoob.com/csharp/csharp-attribute.html特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加元数据,如编译器指令和注释...转载 2018-04-13 13:09:39 · 327 阅读 · 0 评论 -
重拾C#日常积累:config配置文件的读写
注;现在FrameWork2.0以上使用的是:ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.文章参考了网上一些内容进行整理输出。一、配置文件的说明最常见的配置文件是App.config。应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使...原创 2018-04-16 10:36:56 · 9394 阅读 · 0 评论 -
重拾C#教程:文件的输入与输出
原文地址:http://www.runoob.com/csharp/csharp-file-io.html一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个 流。从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流 和 输出流。输入流用于从文件读取数据(写操作),输出流用于向文件写入数据(读操作)。C# I/O 类System.IO 命名...转载 2018-04-10 13:17:07 · 334 阅读 · 0 评论 -
重拾C#教程:异常处理
原文地址:http://www.runoob.com/csharp/csharp-exception-handling.html异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。try:一个 tr...转载 2018-04-10 13:15:19 · 327 阅读 · 0 评论 -
重拾C#教程:正则表达式
原文地址:http://www.runoob.com/csharp/csharp-regular-expressions.html正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。定义正则表达式下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。字符转义字符类定位点分组构造限定符反向引用构造备用构造替换杂项构造字...转载 2018-04-10 13:13:33 · 369 阅读 · 0 评论 -
重拾C#教程:预处理器指令
原文地址:http://www.runoob.com/csharp/csharp-preprocessor-directives.html预处理器指令指导编译器在实际编译开始之前对信息进行预处理。所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。C# 编译器没有一个单独的预处理器,但是,指令被处理时就像是有一个...转载 2018-04-10 13:12:07 · 1055 阅读 · 0 评论 -
重拾C#教程:高级部分-委托(Delegate)
原文地址:http://www.runoob.com/csharp/csharp-delegate.htmlC# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。声...转载 2018-04-13 13:49:03 · 400 阅读 · 0 评论 -
重拾C#教程:高级部分-事件(Event)
原文地址:http://www.runoob.com/csharp/csharp-event.html事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。通过事件使用委托事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这...转载 2018-04-13 13:50:59 · 527 阅读 · 0 评论 -
重拾C#教程:高级部分-集合(Collection)
原文地址:http://www.runoob.com/csharp/csharp-collection.html集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等...转载 2018-04-13 13:52:32 · 342 阅读 · 0 评论 -
重拾C#日常积累:in、ref、out类型标识的方法参数
为不具有 in、ref 或 out 的方法声明的参数会按值传递给调用的方法。 可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改后的值。 可以通过使用方法参数关键字更改此行为。本部分介绍声明方法参数时可以使用的关键字:params 指定此参数采用可变数量的参数。in 指定此参数由引用传递,但只由调用方法读取。ref 指定此参数由引用传递,可能由调用方法读取或写入。out 指定此参数由引用...原创 2018-04-13 16:25:31 · 4375 阅读 · 1 评论 -
重拾C#日常积累:lock给关键操作加锁
lock基础介绍lock 关键字将语句块标记为关键部分,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。 以下示例包含一个 lock 语句。比如银行账户的金额变动这些,都需要通过加锁进行保护。下面是一个取钱的操作:class Account { decimal balance; private Object thisLock = new Object(); ...原创 2018-04-13 16:18:10 · 8435 阅读 · 0 评论 -
重拾C#日常积累:Fixed初始化固定大小的指针
Fixed的说明Fixed 语句可防止垃圾回收器重新定位可移动的变量。 Fixed 语句仅允许存在于不安全的上下文中。 Fixed 可用于创建固定大小的缓冲区。fixed 语句将为托管变量设置一个指针,并在该语句的执行过程中“单边锁定”该变量。 如果没有 fixed,指向可移动的托管变量的指针将几乎没有什么用处,因为垃圾回收可能会不可预见地重新定位变量。 C# 编译器只允许将指针分配给 fixed...原创 2018-04-13 16:03:59 · 4349 阅读 · 0 评论 -
重拾C#日常积累:goto特殊的跳转语句
goto跳转语句说明goto语句将程序控制直接传递给标记语句。 goto的一个通常用法是将控制传递给特定的 switch-case 标签或switch语句中的默认标签。goto语句还用于跳出深嵌套循环。示例程序1、在switch当中class SwitchTest{ static void Main() { Console.WriteLine("Coffee si...原创 2018-04-13 15:46:37 · 2226 阅读 · 0 评论 -
重拾C#日常积累:DateTime日期的格式化和空值设置
C#时间格式化不同于Java,其格式化步骤偏复杂,C#DateTime API。 DateTime取空值类似三元表达式的用法:为了实现Nullable数据类型转换成non-Nullable型数据,就有了一个这样的操作符”??(两个问号)“,双问号操作符意思是取所赋值??左边的,如果左边为null,取所赋值??右边的.比如int y = x ?? -1 如果x为空,那么y的值为-1.示例代码如下: ...原创 2018-04-13 15:32:16 · 5156 阅读 · 0 评论 -
重拾C#教程:高级部分-多线程
原文地址:http://www.runoob.com/csharp/csharp-multithreading.html线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同...转载 2018-04-13 13:59:32 · 481 阅读 · 0 评论 -
重拾C#教程:高级部分-不安全代码
原文地址:http://www.runoob.com/csharp/csharp-unsafe-codes.html当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。指针变量指针 是值为另一个变量的地址的变量,即,内存位置的直接地址。就像其他变量或常量,您必须在使用指针存储其他变量地址之前声明指针。指针变量声明的一般形式...转载 2018-04-13 13:57:42 · 338 阅读 · 0 评论 -
重拾C#教程:高级部分-匿名方法(Anonymous methods)
原文地址:http://www.runoob.com/csharp/csharp-anonymous-methods.html我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主...转载 2018-04-13 13:56:05 · 377 阅读 · 0 评论 -
重拾C#教程:高级部分-泛型(Generic)
原文地址:http://www.runoob.com/csharp/csharp-generic.html泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类...转载 2018-04-13 13:54:44 · 377 阅读 · 0 评论 -
重拾C#教程:命名空间(Namespace)
原文地址:http://www.runoob.com/csharp/csharp-namespace.html命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。定义命名空间命名空间的定义是以关键字 namespace 开始,后跟命名空间的名称,如下所示:namespace namespace_name{ ...转载 2018-04-10 13:09:26 · 2314 阅读 · 0 评论 -
重拾C#教程:接口
原文地址:http://www.runoob.com/csharp/csharp-interface.html接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口使得实现接口的类或结构在形式上保...转载 2018-04-10 13:07:45 · 331 阅读 · 0 评论 -
重拾C#教程:判断
原文地址:http://www.runoob.com/csharp/csharp-decision.html判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的一般形式:判断语句C# 提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if 语句一个 if 语句 由一个布尔表达式...转载 2018-04-10 12:52:20 · 330 阅读 · 0 评论 -
重拾C#教程:运算符
原文地址:http://www.runoob.com/csharp/csharp-operators.html运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符本教程将逐一讲解算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及其他运算符。算术运算符下表显示了 C# 支持的所有算术运算符。假设变...转载 2018-04-10 12:50:43 · 273 阅读 · 0 评论 -
重拾C#教程:常量
原文地址:http://www.runoob.com/csharp/csharp-constants.html常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。常量可以被当作常规的变量,只是它们的值在定义后不能被修改。整数常量整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示...转载 2018-04-10 12:50:18 · 462 阅读 · 0 评论 -
重拾C#教程:变量
原文地址:http://www.runoob.com/csharp/csharp-variables.html一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。我们已经讨论了各种数据类型。C# 中提供的基本的值类型大致可以分为以下几类:类型举例整数类型sbyte、byte、s...转载 2018-04-10 12:48:27 · 405 阅读 · 0 评论 -
重拾C#教程:类型转换
原文地址:http://www.runoob.com/csharp/csharp-type-conversion.html类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。显式类型转换 - 显式类型转...转载 2018-04-10 12:47:20 · 277 阅读 · 0 评论 -
重拾C#教程:数据类型
原文地址:http://www.runoob.com/csharp/csharp-data-types.html在 C# 中,变量分为以下几种类型:值类型(Value types)引用类型(Reference types)指针类型(Pointer types)值类型(Value types)值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。值类型直接包含数据。...转载 2018-04-10 12:46:45 · 231 阅读 · 0 评论 -
重拾C#教程:基本语法
原文地址:http://www.runoob.com/csharp/csharp-basic-syntax.htmlC# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。例如,以 Rectangle(矩形)对象为例。它具有 length 和 width 属性。根据设计,它可能需要接受这些属性值...转载 2018-04-10 12:45:04 · 309 阅读 · 0 评论 -
重拾C#教程:程序结构
原文地址:http://www.runoob.com/csharp/csharp-program-structure.html在我们学习 C# 编程语言的基础构件块之前,让我们先看一下 C# 的最小的程序结构,以便作为接下来章节的参考。C# Hello World 实例一个 C# 程序主要包括以下部分:命名空间声明(Namespace declaration)一个 classClass 方法Cla...转载 2018-04-10 12:44:40 · 314 阅读 · 0 评论 -
重拾C#教程:环境
原文地址:http://www.runoob.com/csharp/csharp-environment-setup.html在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C# 与 .Net 框架之间的关系。.Net 框架(.Net Framework)...转载 2018-04-10 12:44:20 · 348 阅读 · 0 评论 -
重拾C#教程:循环
原文地址:http://www.runoob.com/csharp/csharp-loops.html有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式:循环类型C# 提供了以下几种循环类型。点...转载 2018-04-10 12:51:01 · 305 阅读 · 0 评论 -
重拾C#教程:封装
原文地址:http://www.runoob.com/csharp/csharp-encapsulation.html封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C# 封装根据具体的需要,设置使用者的访问权限,并通过 访...转载 2018-04-10 12:51:23 · 378 阅读 · 0 评论 -
重拾C#教程:方法
原文地址:http://www.runoob.com/csharp/csharp-methods.html一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。要使用一个方法,您需要:定义方法调用方法C# 中定义方法当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下:<Access Specif...转载 2018-04-10 12:52:39 · 285 阅读 · 0 评论 -
重拾C#教程:运算符重载
原文地址:http://www.runoob.com/csharp/csharp-operator-overloading.html您可以重定义或重载 C# 中内置的运算符。因此,程序员也可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与其他函数一样,重载运算符有返回类型和参数列表。例如,请看下面的函数:public sta...转载 2018-04-10 13:06:43 · 885 阅读 · 0 评论 -
重拾C#教程:多态性
原文地址:http://www.runoob.com/csharp/csharp-polymorphism.html多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。静态多态性在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提...转载 2018-04-10 13:04:06 · 283 阅读 · 0 评论 -
重拾C#教程:继承
原文地址:http://www.runoob.com/csharp/csharp-inheritance.html继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基...转载 2018-04-10 13:00:56 · 290 阅读 · 0 评论 -
重拾C#教程:类
原文地址:http://www.runoob.com/csharp/csharp-class.html当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量成为类的成员。类的定义类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号...转载 2018-04-10 12:59:36 · 282 阅读 · 0 评论