首页 > 其他分享 >.Net类型 引用类型

.Net类型 引用类型

时间:2025-01-23 09:44:07浏览次数:1  
标签:string C# object 字符串 引用 类型 Net

预定义类型引用类型

C#支持两种预定义的引用类型:object 和string

名称 .NET类型 说明
object System.Object 根类型,其他类型都是从它派生而来的(包括值类型)
string System.String Unicode字符串

 

1.object类型

  许多编程语言和层次结构都提供了根类型,层次结构中的其他对象都从它派生而来。C#和.Net也不例外。在C#中object类型就是最终的父类型,所有内置类型和用户定义的类型都从它派生而来。这样,object类型就可以用于两个目的。

  • 可以使用object引用来绑定任何特定子类型的对象。例如使用object类型把堆栈中的值对象装箱,再移动堆中。object引用也可以用于反射,此时必须有代码来处理类型未知的对象
  • object类实现了许多一般用途的基本方法,包括Equals()、GetHashCode()、GetType() 和ToString()。用户定义的类需要使用一种面向对象技术-重写,来提供其中一些方法的替代实现代码。例如,重写ToString()时,要给类提供一个方法,给出类本身的字符提示。如果类中没有提供这些方法的实现代码,编译器就会使用object类型中的实现代码,它们在类上下文中的执行不一定正确。

1.string类型

  C#有string关键字,在遮罩下转换为.NET类System.String。有了它,像字符串连接和字符串复制这样的操作就很简单了。

string str1 = "Hello";
string str2 = "World";
string str3 = str1 + str2;

  尽管这是一个值类型的赋值,但string是一个引用类型。string对象被分配在堆上,而不是栈上。因此,当把一个字符串变量赋予另一个字符串时,会得到对内存中同一个字符串的两个引用。但是string与引用类型的常见行为有一些区别。例如,字符串是不可改变的。修改其中一个字符串,就会创建一个全新的string对象,而另一个字符串不发生任何变化。

标签:string,C#,object,字符串,引用,类型,Net
From: https://www.cnblogs.com/AntToolStuido/p/18687112

相关文章

  • dotnet 使用 ColorCode 做代码着色器
    本文记录我使用ColorCode开源库简单做一个代码着色器开源库地址:https://github.com/CommunityToolkit/ColorCode-Universal我用的是ColorCode.Core版本,这个版本是无具体UI框架依赖的,于是我就在此基础上,同时做了WPF和Avalonia框架的版本。这两个框架在对ColorCode的......
  • 回调函数 事件处理 dotnet .net 有界队列 背压机制(Backpressure)有界队列
    回调函数事件处理dotnet.net有界队列背压机制(Backpressure)有界队列通过有界队列来实现背压,确保生产者不会以超过消费者处理能力的速度发送数据。usingSystem.Threading.Channels;publicclassProgram{staticasyncTaskMain(string[]args){//创......
  • 回调函数 事件处理 dotnet .net 消费处理系统 生产者-消费者类型
    回调函数dotnet.net消费处理系统生产者-消费者类型一个简单的消息处理系统,它使用了.NET的System.Threading.Channels命名空间来创建一个无界的通道(channel),用于在不同的任务之间传递MessageWrapper对象。无界限的消息队列(UnboundedChannel)是.NET中System.Threading.Channel......
  • .NET9 中替换Swagger使用Scalar
    .NET9没有Swagger怎么办?前言在.NET9中,在创建WebAPI项目时,Swagger的使用与.NET8略有不同。.NET9不再内置Swagger,而是生成OpenApi标准的Json文件。如果想在.NET9中使用Swagger,需要手动安装,并配置Swagger。在.NET9中使用Swagger安装包首先安装Nuget包Install-PackageSwashbu......
  • 华为eNSP-telnet配置
            Telnet是一个用于远程登录的协议,它允许用户通过网络连接到远程主机,并在本地计算机上执行远程主机上的命令。telnet基于传输层之上的应用层协议。现在用两台路由器进行telnet配置,我们在R2上开启telnet服务,用R1远程登陆R2。R1配置[R1]intg0/0/0[R1-Gigabi......
  • 常见问题解决 --- 引用的账户当前已锁定,且可能无法登录什么意思
     当你在尝试登录Windows系统时,看到错误提示“引用的账户当前已锁定,且可能无法登录”,这意味着你使用的用户账户由于多次输入错误的密码而被系统锁定。这是一种安全机制,旨在防止暴力破解或未经授权的访问。原因分析1.多次输入错误密码:如果连续多次输入错误的密码,系统会自......
  • TensorFlow迁移学习DenseNet121预测10-monkey-species
     In [1]:fromtensorflowimportkerasimporttensorflowastfimportnumpyasnpimportpandasaspdfromscipyimportndimageimportmatplotlib.pyplotasplt In [14]:densenet121=keras.applications.DenseNet121(include_top=Fal......
  • Springboot3整合Netty进行消息传递
    1.服务端1.1字符消息NettyServer/***@authorliu.wenxuan1*@Description:netty服务端处理字符消息解码器问题不能同时处理文件和字符*/publicclassNettyServer{privatestaticfinalintPORT=8080;publicstaticvoidmain(String[]args)th......
  • dotnet CultureInfo遇到欧洲如俄文小数点是逗号想转点的解决办法
    如题,当CultureInfo是俄文(ru-RU)时,浮点数中的点是用逗号表达的,如1.1会显示成1,1,造成很多的麻烦,当然如果全系统中全部采纳逗号作为浮点也没问题,只要用户接受就可以,但有时需要继续用点号,那么解决办法如下。1.修改DefaultThreadCurrentCulture我们知道CultureInfo.CurrentCulture静......
  • Windows 环境下 Docker Desktop + Kubernetes 部署项目指南
    Windows环境下DockerDesktop+Kubernetes部署项目指南一、环境准备二、安装与配置Kubernetes安装windows版的docker启动kubernetes安装windows版的kubectl工具下载k8s-for-docker-desktop启动KubernetesDashboard二、在Kubernetes上部署项目创建一个......