- 博客(27)
- 资源 (2)
- 收藏
- 关注
转载 程序时代的溺水者
古典在《跃迁》中提到一个概念:时代的溺水者。古典认为这三类人是“溺水者”:1)无法掌握自己注意的人;2)无法过滤信息,找不到重点的人;3)不理解系统,无法与陌生人联机协作的人。互联网技术从业者的“溺水者”:1.低头族:每天只低头关注手上分配的业务,不主动关注行业最新动态,不了解最新的技术趋势。例如有的人工作五年,但除了第一年是新学习知识,此外的四年是重复地c
2018-01-22 18:20:10
502
原创 序列化与反序列化对象
应用程序常常需要在硬盘上存储数据。之前介绍了逐段构建文本和数据文件,但这常常不是最简便的方式。有时最好以对象形式存储数据。.NET Framework 在System.Runtime.Serialization 和System.Runtime.Serialization.Formatters名称空间中提供了序列化对象的基础架构,这两个名称空间中的一些类实现了这个基础架构。Framework中有
2018-01-15 10:41:29
325
原创 StreamWriter对象与StreamReader对象
FileStream类虽然可以用于任何数据文件,但是,在处理文本文件时StreamWriter类和StreamReader类更方便。一、StreamWriter对象:StreamWriter 类允许将字符和字符串写入到文件中,它处理底层的转换,向FileStream 对象写入数据。还可以通过许多方法创建StreamWriter 对象。如果已经有了FileStream 对象,就可以使用此
2017-12-25 18:16:50
1102
原创 文件处理技术
文件是在应用程序的实例之间存储数据的一种便利方式,也可以用于在应用程序之间传输数据。文件可以存储用户和应用程序配置,以便在下次运行应用程序时检索它们。定界的文本文件(例如用逗号分隔的文件)由许多旧系统使用;为了与这些旧系统进行交互,还需要了解如何处理定界数据。.NET Framework 提供的工具可以在应用程序中有效地使用文件。一、流:在.NET Framework 中进行的所有输入和输
2017-12-19 21:30:12
813
原创 Lambda表达式
一、匿名方法:匿名方法实际上并非传统意义上的方法,它不是某个类上的方法,而纯粹是为用作委托目的而创建的。要创建匿名方法,需要使用下面的代码:delegate(parameters){// Anonymous method code.};其中parameters 是一个参数列表,这些参数匹配正在实例化的委托类型,由匿名方法的代码使用,例如:myConnection1.
2017-12-18 18:10:14
367
原创 可选参数与命名参数
一、可选参数:调用方法时,常常给某个参数传送相同的值。例如,这可能是一个布尔值,以控制方法操作中的不重要部分:public List GetWords(string sentence,bool capitalizeWords){...}无论给capitalizeWords 参数传送什么值,这个方法都会返回一系列string 值,每个string 值都是输入句子中的一个单
2017-12-14 10:18:29
4767
原创 动态查找
前面介绍过var,var关键字不是一个类型,所以并没有违反C#的“强类型化”方法论。但在C# 4 引入了“动态变量”的概念,顾名思义,动态变量是类型不固定的变量。引入动态变量的主要目的是在许多情况下,都希望使用C#处理另一种语言创建的对象。这包括与旧技术的交互燥作,例如Component Object Model(COM),以及处理动态语言,例如JavaScript、Python 和Ruby。
2017-12-11 19:07:50
1600
原创 类型推理与匿名类型
我们知道C#是一种强类型化的语言,这表示每个变量都有固定的类型,只能用于接受该类型的代码中。C# 3.0 引入了新关键字var,格式如下:var = ;在这行代码中,变量隐式地类型化为value 的类型。注意,类型的名称并不是var。eg:var myVar = 5;myVar 是int 类型的变量,而不是var 类型的变量使用var 时,并不是声明了一个没有类型的变
2017-12-08 18:55:49
513
原创 初始化器
对象初始化器:主要作用:对象初始化器提供了一种简化代码的方式,可以合并对象的实例化和初始化。集合初始化器提供了一种简洁的语法,您使用一个步骤就可以创建和填充集合。先看一个类定义:public class Curry{public string MainIngredient { get; set; }public string Style { get; set; }pub
2017-12-07 18:24:00
1665
原创 泛型
回顾下集合:基本集合可以包含在类似ArrayList 这样的类中,但这些集合是没有类型化的,所以需要把object 项转换为集合中实际存储的对象类型。继承自System.Object 的任何对象都可以存储在ArrayList 中。在C++中的泛型(在该语言中称为模扳)很早就被公认为是完成任务的最佳方式。通过使用泛型,可以达到“一次编码,多次使用”的效果,从而极大地提高了代码的重用率,同
2017-12-06 18:48:42
273
原创 事件
之前我们介绍了委托,它是C#中的一种引用数据类型,它存储了对方法的引用,类似于C/C++中的函数指针。委托派生于System.Delegate类,回顾一下使用委托的三个步骤:1)定义委托类型2)定义委托对象3)调用委托格式:[访问修饰符]delegate([参数列表]);由于大多数委托都要被重用,所以通常是放在类外部。事件:事件机制最常见于图形用户界面,例如,当
2017-12-05 10:42:07
317
原创 索引器
索引器访问类成员的新方法索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序更容易编写、读起来更为直观。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。格式:[修饰符]this[参数列表]{get{}Set{}}eg:Class MyZhao{Photo[] myphoto;//定义Photo对象数组p
2017-12-05 10:38:37
318
原创 集合
在C#中,任意类型的对象都可以放到集合中,并将其视为Object类型。同时,系统集合类中提供了对多种数据结构及算法的实现,如队列,堆栈,链表,排序等。1.可以使用集合来维护对象组。集合可以包含更高级的功能,例如,控制对它们包含的对象的访问、搜索和排序等。2.C#中的数组实现为System.Array 类的实例,它们只是集合类(Collection Classes)中的一种类型。集合类一般用
2017-12-01 20:42:34
306
原创 定义类成员
一、定义类成员先要明确类的成员有哪些:1.数据成员:字段和常量2.函数成员:方法、属性、索引器、事件、运算符、构造函数和析构函数1).NET Framework 中的公共字段以PascalCasing 形式来命名,而不是camelCasing私有字段没有推荐的命名模式,它们通常使用camelCasing 来命名。2)只读字段:使用关键字readonly,表示这个字段只能
2017-11-28 10:16:38
999
原创 什么是类库
一、类库项目除了在项目中把类放在不同的文件中之外,还可以把它们放在完全不同的项目中。如果一个项目什么都不包含,只包含类(以及其他相关的类型定义,但没有入口点),该项目就称为类库。类库项目编译为.dll 程序集,在其他项目中添加对类库项目的引用,就可以访问它的内容(这可以是同一个解决方案的一部分,但这不是必须的)。这将扩展对象提供的封装性,因为类库可以进行修改和更新,而不会影响使用它们的其他
2017-11-28 10:06:16
18231
原创 定义类
一、定义类注意事项:1.1默认情况下,类声明为内部的,即只有当前项目中的代码才能访问它。可以使用internal 访问修饰符关键字显式指定,如下所示(但这是不必要的):internal class MyClass{// Class members.}另外,还可以指定类是公共的,应该可以由其他项目中的代码来访问。为此,要使用关键字public。public class M
2017-11-24 18:14:26
665
原创 OOP技术特性
包括:接口、继承、多态性、对象之间的关系、运算符重载、事件、引用类型和值类型。运算符重载和事件在后面会介绍,先把其他的概念和区别理清楚一、接口:小编的理解就是定义一套规范,把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合。一但定义了接口,就可以在类中实现它。这样,类就可以支持接口所指定的所有属性和成员。1.1注意,接口不能单独存在。不能像实例化一个类那样实例化接口。
2017-11-23 12:56:46
569
原创 面向对象编程
之前介绍的基本上是复习c语言相关的内容了,只是区分下语法方面的一些不同,下面介绍面向对象编程,要了解C#语言和.NETFramework 的强大功能,需要使用面向对象编程(Object-Oriented Programming,OOP)技术,相信学过c++的同学,对这个概念并不陌生。当然不熟悉也不要紧,语言类的学习就是要多看,多练,原因很简单,容易忘记。一、面向对象编程的含义:面向对象编程
2017-11-22 10:13:50
364
原创 委托
之前介绍了函数,回顾一下几个知识点:1.函数用函数名、0 个或多个参数及返回类型来定义。函数的名称和参数统称为函数的签名。可以定义名称相同、但签名不同的多个函数——也称为函数的重载。也可以在结构类型中定义函数。2.带参函数,个数不定的特定类型的参数可以通过参数数组来指定。参数可以指定为ref 或out,以便给调用者返回值。3.变量根据定义它们的代码块来界定其使用范围。代码块包括方法和其
2017-11-21 19:09:39
449
原创 函数
一、认识函数:在C#中,函数是一种方法,可提供在应用程序中的任何一处执行的代码块。可以理解为一种数学公式,在代码中调用这个公式。类似c语言里面的函数,这个东西经常用到,能让你的代码有更好的可读性。一般采用PascalCase 形式编写函数名。我们一开始接触的函数Main()是控制台应用程序的入口点函数。当执行C#应用程序时,就会调用它包含的入口点函数,这个函数执行完毕后,应
2017-11-03 12:11:08
195
原创 字符串处理
在编写较有趣的应用程序时,会发现字符串的操作非常多。所以,下面介绍C#中比较常用的字符串处理技巧。1.string 类型变量可以看作是char 变量的只读数组。这样,就可以使用下面的语法访问每个字符:string myString = "A string";char myChar = myString[1];2.为了获得一个可写的char 数组,可以使用下面的代码,其中使用了数组变
2017-11-02 08:56:42
266
原创 复杂的变量类型
前面介绍了一些简单类型变量,接着阐述另外一些类型的变量:枚举——变量类型,用户定义了一组可能的离散值,这些值可以用人们能理解的方式使用。结构——合成的变量类型,由用户定义的一组其他变量类型组成。数组——包含一种类型的多个变量,可以以索引方式访问各个数值。一、常用到的地方:1)类型转换:隐式转换:从类型A 到类型B 的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编
2017-11-02 08:53:05
581
原创 流程控制
程序流程就是C#代码的执行顺序。本章介绍控制程序流的两种方法,分支和循环。一、常用的一些东西1.1比较常用的是bool类型,并且bool类型可以用于存储比较结果eg:bool a;a=b或者bool isBob;isBob=myName==”Bob”;1.2还有常用的是逻辑运算符“&&”和“||”:功能就不用多说,就是“与”和“或”,和“&”、“|”的区
2017-10-29 15:42:47
257
原创 变量和表达式
先列一句术语:计算机程序最基本的描述也许是一系列处理数据的操作。 一、C#基本语法C#的代码外观和操作方式与C++和Java非常类似注意:1)C#代码区分大小写2)使用#region和#endregion关键字来定义可以展开和折叠的代码区域的开头或结尾3)Console.WriteLine();输出内容4)Console.ReadLine();输入内容 变量
2017-10-29 15:36:59
2278
原创 认识C#
前面其实已经初略的介绍了C#是什么,它是如何适应.Net Framework的。一、总结一下:C#是可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C++语言演化而来的,是Microsoft专门为使用.NET平台而创建的。1)在C++中能完成的任务几乎能利用C#完成,C#中与C++高级功能等价的功能(例如直接访问和处理系统内存)。2)C#是一种类型安全的语言(与C
2017-10-24 09:01:01
289
原创 .Net Framework
前言:这是一些总结,说的都是重点,或者说是后面的铺垫,如果有专题模块会提示出来(就是对这个专题不感兴趣的可以跳过)。另外有不同见解的地方可以提出来大家一起讨论。 一、基础认识:在学习C#之前一定要先了解.Net Framework1).Net Framework是microsoft为开发应用程序而创建的一个平台。2).Net Framework的microsoft版本运行在wi
2017-10-23 23:40:39
435
Visual Studio Tools for Unity
2018-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人