代码改变世界

随笔分类 -  C#

【C#】Visual Studio 2017 一边Debug,一边修改代码

2019-02-28 22:52 by GarfieldEr007, 4181 阅读, 收藏, 编辑
摘要: 好久没写C#了,最近在学习著名科学上网工具 shadowsocks-windows 的源代码,想着可以边断点调试,边加上一些注释以方便理解,stackoverflow 和 msdn 随便翻了一下,竟发现了Debug新世界。 一. 原始需求 原始需求是这样,本来我只是希望在断点调试项目的时候,可以增加 阅读全文

C#调试心经

2019-02-28 22:51 by GarfieldEr007, 228 阅读, 收藏, 编辑
摘要: 我们在做程序开发时,难免会遇到错误异常。如何快速地找到出错的地方、分析错误的原因以及找到解决问题的方案,是许多初级程序员困扰的问题,这也正是经验的宝贵之处。下面我将简单介绍在Visual Studio中调试以及一些高级的调试和常见的错误。 PS:如无特别说明Visual Studio均指Dev10即 阅读全文

C#程序集Assembly学习随笔(增补版,附图)_AX

2018-12-20 09:38 by GarfieldEr007, 278 阅读, 收藏, 编辑
摘要: 上篇我讲了下我对Assembly的初步认知.现在来说说怎么使用已有的Assembly.比如说我在做一个解决方案时,发现你做的解决方案的某个项目中的类的方法(功能)我正好可以用到,哈,那我就不用写类了,直接考过来,不是考代码文件,而是考的那个需要的项目的Assembly....我现在就来解决这个问题. 阅读全文

C#程序集Assembly学习随笔(第一版)_AX

2018-12-20 09:37 by GarfieldEr007, 368 阅读, 收藏, 编辑
摘要: ①什么是程序集?可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.嗯,这个确实简单了些,但我是这么理解的.详细:http://blog.csdn.net/sws8327/archive/2006/09/21/1244642.aspx②程序集和命名空间的区别?一个程序集可 阅读全文

【.Net】 C#访问修饰符

2018-12-20 09:36 by GarfieldEr007, 339 阅读, 收藏, 编辑
摘要: 一 类的修饰符: C#中类的默认修饰符是internal。1 private 只有对包.NET中的应用程序或库才能访问。2 public 不限制对类的访问。 3 protected 只可以被本类和其继承子类访问; 4 internal 只可以被本集合(Assembly)内所有的类存取。集合是C#语言 阅读全文

访问修饰符(C# 编程指南)

2018-12-20 09:35 by GarfieldEr007, 339 阅读, 收藏, 编辑
摘要: 所有类型和类型成员都具有可访问性级别,该级别可以控制是否可以从你的程序集或其他程序集中的其他代码中使用它们。 可以使用以下访问修饰符在进行声明时指定类型或成员的可访问性: public同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。 private只有同一类或结构中的代码 阅读全文

C#图解教程 第二十五章 其他主题

2018-12-16 15:03 by GarfieldEr007, 346 阅读, 收藏, 编辑
摘要: 其他主题 概述 在本章中,我会介绍使用C#时的一些重要而又不适合放到其他章节的主题,包括字符串操作、可空类型、Main方法、文档注释以及嵌套类型。 字符串 对于内部计算来说0和1很适合,但是对于人类可读的输入和输出,我们需要字符串。BCL提供了很多能让字符串操作变得更简单的类。 C#预定义的stri 阅读全文

C#图解教程 第二十三章 预处理指令

2018-12-16 15:02 by GarfieldEr007, 231 阅读, 收藏, 编辑
摘要: 预处理指令 什么是预处理指令 源代码指定了程序的定义,预处理指令(preprocessor directive)指示编译器如何处理源代码。例如,在某些情况下,我们可能希望编译器忽略一部分代码,而在其他情况下,我们可能希望代码被编译。预处理指令给了我们这样的选项。 在C和C++中有实际的预处理阶段,此 阅读全文

C#图解教程 第二十四章 反射和特性

2018-12-16 15:02 by GarfieldEr007, 184 阅读, 收藏, 编辑
摘要: Note 类的元数据包含该类的成员和特性 程序的元数据可以理解为程序的结构信息 反射(reflection)用来查看元数据 C#中通过Type类来反射 特性(attribute)用来给类型添加元数据 PS:理解有待加强 反射和特性 元数据和反射 大多数程序都要处理数据,包括读、写、操作和显示数据。( 阅读全文

C#图解教程 第二十二章 异常

2018-12-16 15:01 by GarfieldEr007, 225 阅读, 收藏, 编辑
摘要: 异常 什么是异常 异常是程序中的运行时错误,它违反了系统约束或应用程序约束,或出现了在正常操作时未预料的情形。例如,程序试图除以0或试图写一个只读文件。当这些发生时,系统捕获这个错误并抛出(raise)一个异常。 如果程序没有提供处理该异常的代码,系统会挂起这个程序。例如,下面的代码在试图用0除一个 阅读全文

C#图解教程 第二十章 异步编程

2018-12-16 15:00 by GarfieldEr007, 350 阅读, 收藏, 编辑
摘要: 笔记 启动一个程序,系统在内存中创建一个新进程,进程内部是系统创建的线程,线程可以派生其他线程,这就有了多线程。 进程内的多个线程共享进程的资源,系统为处理器规划的单元是线程。 异步编程可以实现在新线程里面运行一部分代码,或改变代码的执行顺序。 本章介绍了以下几种异步编程方式,它们居多是并发的而非并 阅读全文

C#图解教程 第二十一章 命名空间和程序集

2018-12-16 15:00 by GarfieldEr007, 326 阅读, 收藏, 编辑
摘要: 命名空间和程序集 引用其他程序集 在第1章中,我们在高层次上观察了编译过程。编译器接受源代码文件并生称名称为程序集的输出文件。这一章中,我们将详细阐述程序集以及它们是如何生成和部署的。你还会看到命名空间是如何帮助组织类型的。 在迄今为止所看到的所有程序中,大部分都声明并使用它们自己的类。然而,在许多 阅读全文

C#图解教程 第十九章 LINQ

2018-12-16 14:59 by GarfieldEr007, 339 阅读, 收藏, 编辑
摘要: LINQ 什么是LINQ 在关系型数据库系统中,数据被组织放入规范化很好的表中,并且通过简单且强大的SQL语言来进行访问。因为数据在表中遵从某些严格的规则,所以SQL可以和它们很好的配合使用。 然而,在程序中却与数据库相反,保存在类对象或结构中的数据差异很大。因此,没有通用的查询语言来从数据结构中获 阅读全文

C#图解教程 第十八章 枚举器和迭代器

2018-12-16 14:58 by GarfieldEr007, 349 阅读, 收藏, 编辑
摘要: 枚举器和迭代器 枚举器和可枚举类型 第12章中,我们看到可以用foreach语句遍历数组。在本章,我们会进一步探讨数组,来看看为什么它们可以被foreach语句处理。我们还会研究如何使用迭代器为用户自定义类增加该功能。 foreach语句 数组foreach语句为我们依次取出数组中的每个元素。 为什 阅读全文

C#图解教程 第十七章 泛型

2018-12-16 14:58 by GarfieldEr007, 461 阅读, 收藏, 编辑
摘要: 泛型 什么是泛型 到现在为止,所有在类声明中用到的类型都是特定的类型–或是程序员定义的,或是语言或BCL定义的。然而,很多时候,我们需要把类的行为提取或重构出来,使之不仅能用到它们编码的数据类型上,还能应用到其他类型上。 泛型可以做到这一点。我们重构代码并额外增加一个抽象层,对于这样的代码来说,数据 阅读全文

C#图解教程 第十六章 转换

2018-12-16 14:57 by GarfieldEr007, 356 阅读, 收藏, 编辑
摘要: 转换 什么是转换 要理解什么是转换,让我们先从声明两个不同类型的变量,然后把一个变量(源)的值赋值给另一个变量(目标)的简单示例开始讲起。在赋值前,源的值必须转换成目标类型的值。 转换(conversion)是接受一个类型的值并使用它作为另一个类型的等价值的过程 转换后的值应和源值一样的,但其类型为 阅读全文

C#图解教程 第十四章 事件

2018-12-16 14:56 by GarfieldEr007, 295 阅读, 收藏, 编辑
摘要: 事件 发布者和订阅者 很多程序都有一个共同的需求,既当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知。 发布者/订阅者模式(publisher/subscriber pattern)可以满足这种需求。 发布者(publisher) 发布某个事件的类或结构,其他类可以在该事件发生 阅读全文

C#图解教程 第十五章 接口

2018-12-16 14:56 by GarfieldEr007, 324 阅读, 收藏, 编辑
摘要: 接口 什么是接口 接口是指定一组函数成员而不实现它们的引用类型。所以只能类和结构来实现接口。 这种描述比较抽象,直接来看个示例。 下例中,Main方法创建并初始化了一个CA类的对象,并将该对象传递给PrintInfo方法。 只要传入的是CA类型的对象,PrintInfo就能正常工作。但如果传入的是C 阅读全文

C#图解教程 第十三章 委托

2018-12-16 14:55 by GarfieldEr007, 195 阅读, 收藏, 编辑
摘要: 委托 什么是委托 可以认为委托是持有一个或多个方法的对象。当然,正常情况下你不想“执行”一个对象,但委托与典型对象不同。可以执行委托,这时委托会执行它所“持有”的方法。 我们从下面的示例代码开始。具体细节将在本章剩余内容介绍。 代码开始部分声明了一个委托类型MyDel(没错,是委托类型不是委托对象) 阅读全文

C#图解教程 第十一章 枚举

2018-12-16 14:54 by GarfieldEr007, 250 阅读, 收藏, 编辑
摘要: 枚举 枚举 枚举是由程序员定义的类型与类或结构一样。 与结构一样,枚举是值类型,因此直接存储它们的数据,而不是分开存储成引用和数据 枚举只有一种类型的成员:命名的整数值常量 例:枚举示例 每个枚举类型都有一个底层整数类型,默认为int。 每个枚举成员都被赋予一个底层类型的常量值 在默认情况下,编译器 阅读全文
点击右上角即可分享
微信分享提示