美文网首页
C# 创建类型 01

C# 创建类型 01

作者: JeetChan | 来源:发表于2019-07-20 18:06 被阅读0次

声明

本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 1 课—— class - 字段和方法 对应。可在 GitHub 中查看 C# 视频教程的配套PPT

本文主要包括以下内容:

  1. Fields(字段)
  2. Methods(方法)

Class(类)

Class(类) 是最常见的引用类型。类的成员包括在类中声明的所有成员,以及在该类的继承层次结构中的所有类中声明的所有成员(构造函数和析构函数除外)。 基类中的私有成员被继承,但不能从派生类访问。

class YourClassName
{
}

下图列出类或结构中可包含的成员类型:

class members.jpg

Fields(字段)

字段是类或结构的成员,它是一个变量。

class Octopus
{
string name;
public int Age = 10;
}

字段修饰符 readonly

readonly 修饰符防止字段在构造之后被改变,readonly 字段只能在声明的时候被赋值,或在构造函数里被赋值。

字段初始化

字段可以可选初始化,未初始化的字段有一个默认值;字段的初始化在构造函数之前运行。

Methods(方法)

方法是包含一系列语句的代码块。 程序通过调用该方法并指定任何所需的方法参数使语句得以执行。 在 C# 中,每个执行的指令均在方法的上下文中执行。 Main 方法是每个 C# 应用程序的入口点,并在启动程序时由公共语言运行时 (CLR) 调用。

方法签名

通过指定访问级别(如 public 或 private )、可选修饰符(如 abstract 或 sealed )、返回值、方法的名称以及任何方法参数,在类 或结构中声明方法。 这些部件一起构成方法的签名。类型内方法的签名必须唯一。

Expression-bodied methods (C# 6)(表达式主体定义的成员)

通过表达式主体定义,可采用非常简洁的可读形式提供成员的实现。 只要任何支持的成员(如方法或属性)的逻辑包含单个表达式,就可以使用表达式主体定义。

int Foo (int x) => x * 2;

Overload(方法的重载)

类型里的方法可以进行重载(允许多个同名的方法同时存在),只要这些方法的签名不同即可。

void Foo (int x) {...}
void Foo (double x) {...}
void Foo (int x, float y) {...}
void Foo (float x, int y) {...}

按值传递 versus 按引用传递

参数是按值传递的还是按引用传递的,也是方法签名的一部分。

void Foo (int x) {...}
void Foo (ref int x) {...} // OK so far
void Foo (out int x) {...} // Compile-time error

local-functions(本地函数)

从 C# 7.0 开始,C# 支持本地函数。 本地函数是一种嵌套在另一成员中的类型的私有方法。 仅能从其包含成员中调用它们。不地函数不可以使用 static 修饰符。

void WriteCubes()
{
Console.WriteLine (Cube (3));
Console.WriteLine (Cube (4));
Console.WriteLine (Cube (5));
int Cube (int value) => value * value * value;
}

参考

class (C# Reference)

Classes (C# Programming Guide)

Fields (C# Programming Guide)

Methods (C# Programming Guide)

readonly (C# Reference)

Expression-bodied members (C# programming guide)

Polymorphism (C# Programming Guide)

Local functions (C# Programming Guide)

相关文章

  • C# 创建类型 01

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 1 课...

  • C#类型

    《C#图解教程》学习记录 C#程序是一组类型声明。类型是一种用来创建数据结构的模板。 预定义类型 C#提供了16种...

  • C# Byte[]使用总结

    C# Byte[] string转换 01,C# string类型转成byte[]: Byte[] byteArr...

  • C# 创建类型 04

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 4 课...

  • C# 创建类型 03

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 3 课...

  • C# 创建类型 02

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 2 课...

  • C#语言入门详解006

    006 C#类型、变量与对象详解 目录 *什么是类型*类型在C#语言中的作用*C#语言的类型系统*变量、对象与内存...

  • C#之托管与非托管资源

    C#中的数据类型 C#中的所有类型都是(直接或间接)从System.Object类型派生的。C#的类型被分成两大类...

  • C# 枚举和嵌套类型

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第3章 创建类型,大致和第 10 ...

  • C#扩展方法

    C#扩展方法,使用this关键字 1、扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他...

网友评论

      本文标题:C# 创建类型 01

      本文链接:https://www.haomeiwen.com/subject/rybulctx.html