C# 面向对象编程(一)——类 第三篇

总目录
C# 语法总目录

系列链接
C# 面向对象编程(一)     类 第一篇
C# 面向对象编程(一)     类 第二篇
C# 面向对象编程(一)     类 第三篇

C# 面向对象编程 一 ——类 第三篇

    • 简介
    • 面向对象编程
      • 类 第三篇
        • 9. 重载运算符
        • 10. 分部方法
        • ** nameof方法 **
        • ** GetType 方法和 typeof方法 **
        • ** ToString方法 **
      • 结构体

简介

  主要记录的是面向对象编程中,类重载运算符,分部方法的使用和一些常用方法,以及结构体的一些注意事项

面向对象编程

类 第三篇

9. 重载运算符
internal class PersonIntroduce
{private int a;public int A { get => a; set => a = value; }public PersonIntroduce(){a = 1;}~PersonIntroduce(){Console.WriteLine("结束了");}public static PersonIntroduce operator +(PersonIntroduce a, PersonIntroduce b){PersonIntroduce per = new PersonIntroduce();per.a = a.a + b.a;return per;}
}
static void Main(string[] args)
{PersonIntroduce pi = new PersonIntroduce();PersonIntroduce pj = new PersonIntroduce();Console.WriteLine((pi + pj).A); }
//输出
2
10. 分部方法

方法的声明和定义可以在不同文件里面,但是需要再同一个命名空间,添加 partial 关键字

partial class PersonIntroduce
{partial void Add();
}
partial class PersonIntroduce
{    partial void Add(){}
}
** nameof方法 **

可以返回任意类型或者成员或者变量的字符串名称

Person p = new Person();
string name = nameof(p);		//输出 pint num = 10;
string name = nameof(num);		//输出 num
** GetType 方法和 typeof方法 **

使用这个两个方法可以获取当前对象的类,两个都是返回的 System.Type 类型

Dog dog = new Dog();
Console.WriteLine(dog.GetType() == typeof(Dog));
** ToString方法 **

可以在类中重写该方法

结构体

结构体和类相比,结构体是值类型,类是引用类型。结构体无法继承。

结构体可以包含:

  • 字段初始化器
  • 无参数的构造器
  • 终结器
  • 虚成员或 protected 成员
public struct Point{int x,y;public Point(int x,int y){ this.x = x; this.y = y;}
}

总目录
C# 语法总目录

系列链接
C# 面向对象编程(一)     类 第一篇
C# 面向对象编程(一)     类 第二篇
C# 面向对象编程(一)     类 第三篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Intro】Heterogeneous Graph Attention Network(HAN)

论文链接:https://arxiv.org/pdf/1903.07293 Abstract 异构性和丰富的语义信息给面向异构图的图形神经网络设计带来了巨大的挑战。 -> 一种基于分层注意的异构图神经网络,包括节点级注意和语义级注意。具体来说,节点级关注旨在学习节点…

GPT4o还没用上?落后一个月!

文章目录 一.Share官方网站:以一半的价格享受官网服务1.1 网址1.2 一些介绍和教学实战:1.3 主界面(支持4o):1.4 GPTS(上千个工具箱任你选择):1.5 快速的文件数据分析(以数学建模为例…

一次“yarn Couldn‘t find package“问题的排查

本文记录一次使用yarn install 时报错 Couldn’t find package xxxx 问题的排查。 问题描述 问题来自于笔者对一个前端项目进行debug时的yarn install 报错信息,在一个可以明确代码没有问题的项目中,因为切换环境,重新执行yarn install,发现…

qt qcomboBox实现自动检索功能 通过输入匹配字符进行筛选

本人做了一个自定义控件SeepedSearch 用于快速检索匹配的字符的下拉框 方便查找目标 直接上源码 1. SpeedSerach.h #pragma once #include class QComboBox; class QCompleter; class SpeedSearch : public QWidget { Q_OBJECT public: explicit SpeedSearch(QWidget *paren…

web前端三大主流框架指的是什么

web前端三大主流框架是什么?前端开发师的岗位职责有哪些?这边整理了相关内容供大家参考了解,请各位小伙伴随小编一起查阅下面的内容。 web前端三大主流框架 web前端三大主流框架是Angular、React、Vue。 1.Angular Angular原名angularJS诞生…

如何用python做一个贪吃蛇程序?——浔川AI社(VIP)

1 游戏说明: 死亡条件:碰壁、吃自己! 状态:只有吃了食物才会随机生成其中一种状态,分别是:稳如老狗、幸运光滑、衰神附体之一 状态:稳如老狗:相对于上一次速度不变! 状态:幸运光滑:相对于上一次速度变慢! 状态:衰神附体:相对于上一次速度变快! 总体速率对比…

UnityAPI学习之Transform组件基本使用

目录 Transform组件 访问与获取 Transform的位置和旋转信息 Transform局部坐标和旋转信息的获取 Transform的缩放与正方向 缩放(Scale) 正方向 Transform相关的查找方法 销毁游戏物体 Transform组件 访问与获取 现在创建一个容器放置GrisGO物…

操作系统的分类

Linux类系统的组成 Linux操作系统Linux内核Linux应用 Linux内核是什么? Linux系统内核是构成Linux操作系统核心的部分,它是操作系统中最基础和关键的组件,直接与硬件交互并管理计算机系统的底层资源。以下是Linux内核主要特性和功能的概览…

一起学习大模型 - langchain里的 PromptTemplate详细介绍

系列文章目录 一起学习大模型 - 大模型的交互工具prompt简介与运用 一起学习大模型 - langchain里的PromptTemplate详细介绍 一起学习大模型 - langchain里PromptTemplate错误排查总结 文章目录 系列文章目录前言一、 安装 LangChain二、 基本用法1. 导入库并定义模板2. 填充…

API接口通道如何设置?

API接口通道如何设置? 如果分站点的AI接口使用openai(站点后台->系统配置->AI参数配置->AI接口),则需要在超管后台配置接口通道,其他方式则无需在超管后台配置接口通道 1、进入超管后台选择接口通道&#x…

一键批量转换,高效轻松管理:解锁不同格式图片统一处理新体验,让图片管理更高效

在信息爆炸的时代,图片管理成为了一个不容忽视的问题。我们时常面临各种格式的图片文件,不同的格式不仅增加了管理的难度,还可能导致兼容性问题。如何快速高效地管理不同格式的图片,成为了现代人面临的一大挑战。现在,…

网上帮别人开网店卖货的骗局!

小红书帮别人开店卖货的骗局主要涉及到一些不法分子利用小红书平台的流量和用户信任度,通过虚假宣传、承诺高额利润等手段,诱骗用户开店并**所谓的“赚钱机会”。 这些骗局往往以“轻松创业、快速致富”为诱饵,吸引那些对创业充满热情但缺乏经…

Redis常用命令——List篇

提到List,我们第一时间想到的就是链表。但是在Redis中,List更像是一种双端队列,例如C中的deque。它可以快速高效的对头部和尾部进行插入和删除操作。本片文章主要对List列表的相关命令进行详解,希望本篇文章会对你有所帮助。 文章…

MedSegDiff-V2: Diffusion-Based Medical Image Segmentation with Transformer 论文总结

标题:MedSegDiff-V2: Diffusion-Based(基于扩散模型)Medical Image Segmentation(医学图像分割)with Transformer 论文(AAAI):https://ojs.aaai.org/index.php/AAAI/article/view/28…

【避坑全攻略】如何让私人的LLM拥有一个嗓子——ChatTTS

OpenAI 发布 GPT4o 之后,使得越来越多的人都开始幻想属于自己的AI“伴侣”,这最让人惊艳的就是他们出色的TTS技术。而在此之前,主流的开源TTS有 XTTS 2 和 Bark。而近日,一个名为 ChatTTS 文本转语音项目爆火出圈,引来…

Python中的random.choices详解

1. 什么是random.choices函数? random.choices是Python标准库中random模块提供的一个函数,用于从给定的序列中随机选择一个值。这个函数可以用于实现随机抽样、按照概率进行选择等功能。 random.choices(population, weightsNone, *, cum_weightsNone,…

.gitignore 文件

一.什么是 .gitignore 文件 在任何当前工作的 Git 仓库中,每个文件都是这样的: 追踪的(tracked)- 这些是 Git 所知道的所有文件或目录。这些是新添加(用 git add 添加)和提交(用 git commit 提…

汽美汽修店管理系统会员小程序的作用是什么

汽车后市场汽美汽修赛道同样存在着大量商家,连锁品牌店或个人小店等,门店扎堆且区域覆盖面积广,当然每天车来车往也有不少生意。 随着线上化程度加深和商家不断拓展市场的需要,传统运营模式可能难以满足现状,尤其是年…

Element - UI <el-table-column>多选数据提交后禁用已提交的多选框

1. 通过 selection-change"selectionChange" 将已选择的数据存入selectData数组中 <el-table :data"tableData" class"my-5" selection-change"selectionChange" > //多选框已选择的数据 const selectData ref([]); const sel…

在线图片测试用例

开发中经常需要mock图片&#xff0c;下面是可用于测试的在线图片URL示例&#xff0c; https://picsum.photos/200/200?random2 https://picsum.photos/200/200?random1 https://picsum.photos/300/200?random2 https://picsum.photos/300/200?random1 说明&#xff1a…