注册 / 登录

清河洛

您现在的位置是:首页>后端编程>C#学习

C#学习

  • C#中的目录和文件相关操作

    System.IO命名空间中的Directory和DirectoryInfo用于操作目录,File和FileInfo用于操作文件,这些类都不能被继承其中Directory和File用于提供目录或文件操作的静态方法DirectoryInfo和FileInfo类的基类是FileSystemInfo,提供目录或文件操作的实例方法在目录和文件操作过程中需要用到参数: Attributes参数用于获取或设置当前文件或目录的特性 该参数为一个FileAttributes枚举,可用成员有 Archive:此文件标记为包含在增量备份操作中。在增量备份期间处理文件时,备份软件应进行清理该属性 Compressed:此文件是压缩文件 Directory:此文件是一个目录 Encrypted:此文件或目录已加密。对于目录来说,表示新创建的文件和目录在默认情况下是加密的 Hidden:文件是隐藏的,因此没有包括

    发布时间:2021-10-12 10:29:45
  • C#中的输入输出流

    流是通过通信路径传递的字节序列,C#采用流模型读写文件、网络或内存中的数据。有两个主要的流:输入流和输出流。输入流用于读取数据(读操作),输出流用于写入数据(写操作)C#中关于流的常用类,这些类大多属于System.IO命名空间的类:创建流的类:Stream:所有流的基类,定义流的基本操作,如Read和Write等方法,是抽象类,无法直接使用 FileStream:以文件作为数据源的流,可以用来读写文件 NetworkStream:以网络作为数据源的流,可以通过此流发送或接受网络数据 MemoryStream:以内存作为数据源的流,可以用来随机读写内存中的数据 BufferedStream:以缓存区作为数据源的流,可以用来读写缓存区中的数据 读写流的类: TextReader:字符读取的基类,定义基本字符读取操作,是抽象类,无法直接使用 TextWriter:字符写入的基类,定义基本字符写入操作,是抽象类,无法直接使用 StreamReader:从流读取字符 StreamWrite

    发布时间:2021-10-11 15:56:08
  • C#中的结构体

    在C#中,结构体是值类型数据结构,它使得一个单一变量可以存储各种数据类型的相关数据。C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员。struct关键字用于创建结构体struct Mystruct{ //结构体定义 } 结构的特点结构可带有方法、字段、索引、属性、运算符方法和事件 结构体中声明的字段无法赋予初值 结构可定义构造函数,但不能定义析构函数 不能为结构定义无参构造函数,无参构造函数(默认)是自动定义的,且不能被改变 结构体的构造函数中,必须为结构体所有字段赋值 与类不同,结构不能继承其他的结构或类 结构不能作为其他结构或类的基础结构 结构可实现一个或多个接口 结构成员不能指定为abstract、virtual 或 protected 使用new操作符创建一个结构对象时,会调用构造函数来创建结构。 与类不同,结构可以不使用new操作符即可被实例化 如果不使用new操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用

    发布时间:2021-09-01 22:50:02
  • C#中的字符串及常见操作

    使用string关键字来声明一个字符串变量,string关键字是System.String类的别名,是从对象(Object)类型派生的String类型的值可以通过两种形式进行分配:引号("")和@引号(@"")字符串的前面加@,称作"逐字字符串",会将转义字符()当作普通字符对待,如@"C:Windows"等价于"C:\Windows"字符串的常见属性Chars:在当前String对象中获取Char对象的指定位置 Length:获取字符串的字符数量 字符串的常见方法String.Compare(strA, strB[, ignoreCase]) 比较两个string对象,并返回一个表示它们在排列顺序中相对位置的整数 ignoreCase如果为真不区分大小写,默认区分大小写 String.Concat(str0,str1,...):连接传入的若干个字符串 str.Contains(val):str中是否包含val String.Copy(str):创建一个与st

    发布时间:2021-09-01 22:09:29
  • C#中的数组及常见操作

    数组是一个存储相同类型元素的固定大小的顺序集合,是用来存储数据的集合。数组中某个指定的元素是通过索引来访问的。所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。声明一个数组datatype[] arrayName; datatype :用于指定被存储在数组中的元素的类型 [] :指定数组的秩(维度) arrayName:指定数组的名称 元素类型和秩之间可以有空格也可以不留空格 声明一个数组不会在内存中初始化数组创建(初始化)数组数组是一个引用类型,所以需要使用new关键字来创建数组的实例double[] demo = new double[10]; 会创建一个所有元素都是double类型的包含10个元素的数组 当创建一个数组时,会根据数组元素类型隐式为每个元素初始化一个默认值。如int数组所有元素都会被初始化为0赋值给数组可以通过使用索引号赋值给一个单独的数组元素double[] demo = new double[10]; dem

    发布时间:2021-09-01 21:19:00
  • C#中的可空类型和枚举类型

    C#中的可空类型C#提供了一个特殊的数据类型:nullable类型(可空类型)可空类型可以表示其基础值类型正常范围内的值,再加上一个null值在处理数据库和其他包含可能未赋值的元素的数据类型时,将null赋值给数值类型或布尔型的功能特别有用声明一个nullable类型(可空类型):<data_type>? [= value]; data_type表示数据类型,后面紧跟着一个问号 variable_name表示变量名 nullable类型的默认值为null 如 int? a 表示a的值为-2147483648到2147483647,也可以被赋值为null值 且此时变量a的默认值由0变为了null Null合并运算符(??)合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值double? num1 = null; double? num2 = 3

    发布时间:2021-08-31 23:12:35
  • C#中的方法

    一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个C#程序至少有一个带有Main方法的类C#中定义方法当定义一个方法时,从根本上说是在声明它的结构的元素:<Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body } Access Specifier:表示访问修饰符 Return Type :表示方法的返回类型,如果不返回任何值,则返回类型为void Method Name :表示方法名称,是一个唯一的标识符,且是大小写敏感的 Parameter list :参数列表,包含参数类型、顺序和数量 Method body :方法主体,包含了完成任务所需的指令集 C#中调用方法一般情况下,方法必须是由实例对象调用,也就是说想要调用对象,要先实例化包含该方法的类,然后

    发布时间:2021-08-31 22:20:35
  • C#中类的继承和多态

    C#中类的继承继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。已有的类被称为的基类,这个新的类被称为派生类class <派生类> : <基类> { ... } 在类定义前面放置关键字sealed,可以将类声明为密封类,该类将不能被继承C#不支持多重继承,但是,可以使用接口来实现多重继承现在有一个MyClass类和IMyInterFace接口,那么派生类可以直接继承 class DiyClass : MycLASS,iMyInterFace{} 用逗号隔开实现类似多重继承 基类的初始化派生类继承了基类的成员变量和成员方法。因此父类对象应在子类对象创建之前被创建。可以在成员初始化列表中进行父类的初始化。class Mycalss1{ public Mycalss1(double l, double w){ length

    发布时间:2021-08-30 22:48:35
  • C#中的class类

    当定义一个类时,实际上就是定义了一个数据类型的蓝图它定义了类的对象由什么组成及在这个对象上可执行什么操作对象是类的实例:通过new classname()来实例化构成类的方法和变量称为类的成员类的定义以关键字class开始,后跟类的名称,类的主体,包含在一对花括号内成员函数和封装类的成员函数是一个在类定义中有它的定义或原型的函数,就像其他变量一样。作为类的一个成员,它能在类的任何对象上操作,且能访问该对象的类的所有成员。封装是"把一个或多个项目封闭在一个物理的或者逻辑的包中",在面向对象程序设计方法论中,封装是为了防止对实现细节的访问C#封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。public:所有对象都可以访问 protected internal:访问限于当前程序集或派生自包含类的类型 internal:同一个程序集的对象可以访问 protected:只有该类对象及其子类对象可以访问 private:对象本身在对象内部可以访问 以上5个访问修饰符从上到下访

    发布时间:2021-08-30 21:41:42
  • C#中的命名空间

    命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。namespace关键字用于定义命名空间namespace namespace_name { // 代码声明 } 通过namespace_name.item_name调用命名空间中的成员using关键字用于引入命名空间using System Console.WriteLine ("Hello world"); 我们也可以直接写完全限定名称 System.Console.WriteLine ("Hello world"); 使用using命名空间指令,在之后使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。为命名空间起别名using namespace_name1 = namespace_name2 namespace_name2.item_name 嵌套命名空间命名空间可以被嵌套,可以在一个命名空间

    发布时间:2021-08-30 21:37:19
首页 上一页 下一页 尾页
共14条 当前1/2页


网址导航