0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. 注:之前更新了一篇<Spring Cloud 实战日记>,这是一个新的系列,有兴趣的小伙伴可以从我的账号首页进去看看. 1. 简单的IO流读写文件 先来看一部分代码: class Program { static void Main(string[] args) { var directory…
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个小工具-快速检索文件所在目录. 1.3. Path Path的中文名称有路径的意思,所以Path类就是路径类,C#把Path设置为工具类,路径的实例被区分为文件和目录了.以下是它的定义: public static class Path 路径是描述文件和目录的位置的字符串,路径并不一定指向硬盘上,换句话说就是…
0. 前言 本章节是IO篇的第二集,我们在上一篇中介绍了C#中IO的基本概念和一些基本方法,接下来我们介绍一下操作文件的方法.在编程的世界中,操作文件是一个很重要的技能. 1. 文件.目录和路径 在开始操作之前,先大概讲解一下基本概念.在计算机系统中,文件是以硬盘为载体存储在计算机上的信息集合.文件通常会有一个后缀名,表示文件格式(当然,通常的另一个含义就是可能没有).我们最常见到的图片文件,后缀有jpg/png/gif这些常见的:文本文件为txt等. 目录,不严谨的来讲可以用文件夹代替.不过严…
0. 前言 在之前的章节中,大致介绍了C#中的一些基本概念.这篇我们将介绍一下C#的I/O操作,这将也是一个小连续剧.这是第一集,我们先来简单了解一下C#中的I/O框架. 1. 什么是I/O I/O 的全称是input/output,翻译过来就是输入/输出.对于一个系统或者计算机来说,键盘.U盘.网络接口.显示器.音响.摄像头等都是IO设备.那么,对于一个程序I/O又是什么呢? 对于程序而言,I/O就是与外界进行数据交换的方式.借用一句广告词,程序不生产数据,只是数据的搬用工.当然,正如XX还需…
0. 前言 这是对C# 基础系列的一个总结,现在我们利用之前学到的知识做一个小小的工具来给我们使用. 如果有看过IO篇的小伙伴,应该有印象.当时我提过一个场景描述,我们在平时使用系统的时候,经常会为了找某个文件的位置而烦恼.那么我们现在尝试写一个控制台程序来帮助我们找文件的具体位置. 1. 分析 好,大家应该初步了解了需求内容.然后让我们来做一个简单的需求分析: 简单分析一下需求包括哪些功能点 规划各个功能点的实现方式 嗯,理论上讲还有一大堆的步骤,但因为是个练手的小项目就不扯那么多没用的了.简…
0. 前言 为什么我们需要异常处理?什么是异常? 在汉语中,异常指非正常的:不同于平常的.翻译到程序中,就是指会导致程序无法按照既定逻辑运行的意外,或者说是错误.可能会有小伙伴好奇了,我们的程序不是正常的吗,为什么还会出错呢? 我来举几个例子: 程序需要访问一个文件,但这个文件不存在,当程序尝试打开一个读该文件的流时就会出错 成绩管理系统中,成绩需要一个浮点型的数字,但是输入的人错误的输入了其他符号或者用中文输入了成绩 程序需要通过网络与其他服务器进行交互,但是程序所在计算机没有网了 程序在计算…
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写一套C#程序需要做哪些准备吧. 1.1 选择 C# 的sdk在之前的某个时间点分为了三个方向: .net framework 4.X .net core mono UWP 有人可能问了,.net和C#是什么关系.首先需要明确一个概念,C#是一门编程语言,.net是一个CLR,即公共语言运行库.这部分…
简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 数组就是将一堆货整整齐齐的码在仓库的某个地方,普通列表也是如此:Set就是在仓库里有这么一个货架,每种货品只能放一个,一旦某种货品超过一个了货架就塌了:Dictionary字典呢,在一个货架上随机摆放,然后再找一个本子把每个货品存放的位置记录下来. 1. 主要集合 C#/.NET Framewor…
转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在 >派生类中没有重写< 该虚方法. 那么在对派生类实…
0. 前言 在前面的文章里简单介绍了一下字符串的相关内容,并没有涉及到更多的相关内容,这一篇将尝试讲解一下在实际开发工作中会遇到的字符串的很多操作. 1. 创建一个字符串 这部分介绍一下如何创建一个字符串,在<C# 基础知识系列- 2 字符串>中介绍了通过初始化和简单的字符串赋值的方式创建一个字符串对象.在这里对这部分内容进行一定的补充和扩展. 1.1 Object.ToString 方法 对于C#的任意一个对象都有一个继承自Object的ToString方法,这个方法没有额外参数,返回一个字…