6.C# —— 类与对象、数据类型、方法详解

目录

一、类和对象

[1. 核心概念](#1. 核心概念)

[2. 类的定义](#2. 类的定义)

[3. 对象创建与赋值](#3. 对象创建与赋值)

二、值类型与引用类型

[1. 值类型](#1. 值类型)

[2. 引用类型](#2. 引用类型)

三、方法的定义与调用

[1. 方法概念](#1. 方法概念)

[2. 方法定义](#2. 方法定义)

[3. 方法调用](#3. 方法调用)

四、方法参数

[1. 普通参数](#1. 普通参数)

[2. 多参数](#2. 多参数)

[3. 对象参数](#3. 对象参数)

[4. 默认参数](#4. 默认参数)

五、核心总结


一、类和对象

1. 核心概念

  • :对象的模板 / 蓝图,是具有相同属性行为的集合
  • 对象:类的实例化,是类具体的表现

2. 类的定义

  • 关键字:class
  • 命名规范:大驼峰
  • 访问修饰:常用 public(公共)、internal(内部)
cs 复制代码
public class Student
{
    // 私有字段(类内部使用)
    private int _age;
    
    // 公共属性(外部访问)
    public int Age { get; set; }
    public string Name { get; set; }
    public string Sex { get; set; }
}

3. 对象创建与赋值

方式 1:先创建,后赋值

cs 复制代码
Student student = new Student();
student.Name = "张三";
student.Age = 10;
student.Sex = "男";

方式 2:创建时直接赋值

cs 复制代码
Student lisi = new Student() { Name = "李四", Age = 20, Sex = "女" };

二、值类型与引用类型

1. 值类型

  • 存储:栈内存 ,保存值本身
  • 赋值:拷贝一份新数据,互不影响
  • 类型:int、float、double、bool、char、枚举、结构体、DateTime
cs 复制代码
int a = 10;
int b = a;  // 拷贝值
a = 30;     // 修改a,b不变
Console.WriteLine(b);  // 10

2. 引用类型

  • 存储:堆内存 ,保存内存地址 / 引用
  • 赋值:拷贝地址,指向同一块内存,一改全改
  • 类型:string、class、对象、数组、集合
cs 复制代码
Book b1 = new Book();
b1.Name = "远大前程";

Book b3 = new Book();
b3.Name = "无";
b1 = b3;          // 共用地址
b3.Name = "无1";  // 修改b3,b1同步变化
Console.WriteLine(b1.Name);  // 无1

三、方法的定义与调用

1. 方法概念

  • 封装一段功能代码,实现代码复用
  • 组成:修饰符 + 返回值 + 方法名 + 参数 + 方法体

2. 方法定义

cs 复制代码
// 公共静态无返回值无参方法
public static void Test()
{
    // 方法体
    Console.WriteLine("方法执行");
}

3. 方法调用

  • 静态方法:类名.方法名() 或直接调用
  • 非静态方法:对象.方法名()
cs 复制代码
Test();  // 直接调用静态方法
Program.Test();  // 类名调用

四、方法参数

1. 普通参数

cs 复制代码
public static void Test(string name)
{
    Console.WriteLine(name);
}

// 调用
Test("细雪");

2. 多参数

cs 复制代码
public static void Test1(int count, string name)
{
    for (int i = 0; i < count; i++)
    {
        Console.WriteLine(name);
    }
}

3. 对象参数

cs 复制代码
public static void Test2(Dog dog)
{
    Console.WriteLine(dog.Name + ":" + dog.Age);
}

4. 默认参数

  • 写在参数列表最后
  • 不传参使用默认值,传参使用传入值
cs 复制代码
public static void Test4(int count, string name, string lieji = "劣迹明星")
{
    Console.WriteLine(name + "是" + lieji);
}

// 调用
Test4(10, "你好");             // 使用默认值
Test4(10, "理解", "榜样明星"); // 使用传入值

五、核心总结

  1. 类与对象:类是模板,对象是实例;字段私有、属性公开
  2. 值类型:存栈中,赋值拷贝,互不影响
  3. 引用类型:存堆中,赋值传地址,一改全改
  4. 方法:封装功能,支持多参数、对象参数、默认参数
  5. 静态方法:通过类名直接调用,无需创建对象
相关推荐
hez20101 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
雨落倾城夏未凉7 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫8 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫9 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6259 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902119 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠9 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
唐青枫11 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech12 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf13 天前
C#摸鱼实录——IoC与DI案例详解
c#