C#的new关键字的几种用法

C#中的new关键字详解:使用示例和注意事项 在上面的示例中,DerivedClass隐藏了BaseClass中的MyMethod方法,并定义了自己的MyMethod方法。在上面的示例中,DerivedClass继承自BaseClass,并使用new关键字显式地调用了基类的构造函数。通过运行该代码,你会看到在创建DerivedClass对象时,首先调用了BaseClass的构造函数,然后才调用DerivedClass的构造函数。在上面的示例中,我们使用new关键字创建了一个新的字符串对象,并将其赋值给变量myString。 阅读详情
AI摘要

本文详细解析了C#中new关键字的三种用法:作为运算符创建对象和调用构造函数,作为修饰符显式隐藏基类成员,以及在泛型声明中作为约束限制类型参数。通过具体代码示例展示了如何使用new关键字。

一共有三种用法:
在 C# 中,new 关键字可用作运算符、修饰符或约束。
1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。
2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。

直接上代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NewTest
{
    /*
     * a)     作为运算符用来创建一个对象和调用构造函数。
     * b)     作为修饰符。
     * c)      用于在泛型声明中约束可能用作类型参数的参数的类型。
     * 
     */

    class A
    {
        public A() { }
        public int data;
        public int Data { get { return data; } set { data = value; } }
        public int Data1 { get; set; }
        public virtual void Get()
        {
            Console.WriteLine("AAAAAAA");
        }
    }

    class B : A
    {
        public B():base() { }
        new public int data;
        new public int Data { get; set; }
        new public int Data1 { get; set; }
        new public void Get()
        {
            Console.WriteLine("BBBBBBB");
        }
    }
    class C<T> where T:new()
    {
    }
    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            b.data = 10;
            b.Data = 12;
            b.Data1 = 13;
            Console.WriteLine($"B:::data:{b.data},Data:{b.Data},Data1:{b.Data1}");
            b.Get();
            A a = b ;
            Console.WriteLine($"A:::data:{a.data},Data:{a.Data},Data1:{a.Data1}");
            a.data = 100;
            a.Data = 120;
            a.Data1 = 130;
            Console.WriteLine($"A:::data:{a.data},Data:{a.Data},Data1:{a.Data1}");
            a.Get();
            Console.WriteLine($"B:::data:{b.data},Data:{b.Data},Data1:{b.Data1}");
            b.Get();
            C<B> c = new C<B>();
        }
    }
}

结果:
在这里插入图片描述

b断点调试结果:
在这里插入图片描述

这里说明下,重写父类的变量其实是重新定义了一个新的变量,变量名相同是把父类的变量隐藏了,会增加内存

参考文章:
C#的new关键字的几种用法

C#中New关键字的三种用法 三种用法如下:   在 C# 中,new 关键字可用作运算符、修饰符或约束。   1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。   2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。   3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。   关于第二种用法看下例: using System; namespace ConsoleApplication1 {     public class BaseA     {         public int x = 1;   立即下载

相关推荐

Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享

一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。

GarFe的博客 1万+

编程语言详细介绍C#中new的几种用法

编程语言详细介绍C#中new的几种用法 本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧 在 C# 中,new 关键字可用作运算符、修饰符或约束。 new 运算符 用于创建对象和调用构造函数。 new 修饰符 用于向基类成员隐藏继承成员。 new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。 new 修饰符(C# 参考) 在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。在不使

1万+

RGB接口电容触摸屏驱动(一)模块介绍

RGB接口电容触摸屏驱动(一)模块介绍

杰克拉力船长个人博客 7874

C#中的new以及类

使用。

愿你历尽千帆,归来仍是少年。 2608

基于Spring Boot在线远程考试系统的设计与实现

结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。

ITbiyesheji的博客 1215

从软体机器人到鞋垫分析:Abaqus超弹性材料(Ogden模型)仿真配置全流程

本文详细介绍了Abaqus中Ogden模型在超弹性材料仿真中的应用全流程,涵盖从实验数据导入、参数拟合到模型构建与求解优化的关键步骤。特别针对鞋垫分析等生物力学场景,提供了单元选择、接触设置和并行计算等实用技巧,帮助工程师实现高精度仿真分析。

weixin_42525385的博客 399

C# new

在c#中,new是关键字之一,new关键字主要有以下两个用途:运算符、修饰符。

sc_1313的博客 1254

安装Office程序时无法安装的解决方案

本文主要介绍了安装Office程序时无法安装的解决方案,希望能对安装Office的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 前置步骤 2.2 方法一 2.3 方法二

weixin_43178406的博客 15万+

C#的New关键字的几种用法

<br />new会在堆内存中开辟空间并初始化,而后将其引用返回。如果不用new,比如:car c1;那么实际上c1只是栈上的一个标记而已(应该是4个字节吧),而没有完整的内容。 <br /> <br />OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来,方便大家查阅。<br />一、在C#中,new这个关键字使用频率非常高,主要有3个功能:<br />a)     作为运算符用来创

深秋的落叶 4102

【算能】TPU(张量处理单元)的深度解析

算能(SOPHGO)作为国产AI芯片领域的核心企业,其TPU(张量处理单元)以高能效比与全场景覆盖能力为核心竞争力,专注于边缘计算与行业垂直领域的AI推理加速。

浩瀚之水的专栏 1545

一文搞懂 JavaScript 模块化规范:CommonJS、AMD、ES6 Module

在现代 JavaScript 开发中,模块化是提升代码组织性和可维护性的关键。本文深入解析三种主流的模块化规范——CommonJS、AMD 和 ES6 Module。

Allen- 3477

C#的New关键字有几种用法

前段时间一个朋友问到C#的New关键字有几种用法,虽说在日常编程中经常用到这个小家伙,但它到底有几种用法还真没有留意过,现将从网上总结出的资料记下以供同仁学习。  (1)new 运算符 用于创建对象和调用构造函数。  (2)new 修饰符 用于隐藏基类成员的继承成员。  (3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。  new 运算符  1.用于创建对象

王磊的Blog 2437

YOLO26优化:AAAI2026 | 融合PartialNet Block的C3k2-YOLO高效目标检测网络 | 轻量化涨点设计

PartialNet Block 结合YOLO26的C3k2模块,进行二次创新。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 589

New关键字在C#中的几种用法

New关键字在我们的程序中可谓是无时不刻在用到,那么new关键字都可以用在哪些地方呢?考虑以下几个问题: 1、new一个class对象和new一个struct或者new一个enum有什么不同?   答:new一个class时,new完成2个内容:一是调用newobj命令为实例在托管堆中分配内存,二是调用构造函数实现对象初始化。   new一个struct时,new运算符用于调用其

syaguang2006的专栏 1040

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C#中的new关键字有几种用法

1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。在 C# 中,new 关键字可用作运算符、修饰符或约束。

微微的猪食小窝 625

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C# new关键字的三种用法

如果引用是BaseClass类型,即使它实际上指向的是DerivedClass的实例,调用的仍然是BaseClass的Method。:当在派生类中重新定义了一个从基类继承的成员时(即使签名完全相同),可以使用new关键字来明确表示这不是要实现多态性,而是要隐藏基类的成员。例如:​​​​​​​。例如:​​​​​​​。关键字在C#中的灵活性,既可用于对象创建,也可用于实现特定的面向对象设计模式,以及增强泛型的实用性。:这是最常见的用法,用于在堆上分配内存并初始化一个类的新实例。:在泛型声明中,可以使用。

2401_82584055的博客 1132

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

c# new关键字的三种用法

三种用法如下: 在 C# 中,new 关键字可用作运算符、修饰符或约束。 1)new 运算符:用于创建对象和调用构造函数。 2)new 修饰符:在用作修饰符时,new 关键字可以隐藏从基类继承的成员。 3)new 约束:用于在泛型声明中约束用作类型的参数必须要有Public无参数构造函数。    关于第二种用法看下例: using System; n

在学习的路上…… 602

.NET(c#)new关键字的三种用法

原文地址:http://www.cnblogs.com/cpcpc/archive/2011/04/27/2123020.html 三种用法如下: 在 C# 中,new 关键字可用作运算符、修饰符或约束。 1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承

puppet_master的专栏 7163

C#中new关键字的用法

前段时间一个朋友问到C#的New关键字有几种用法,虽说在日常编程中经常用到这个小家伙,但它到底有几种用法还真没有留意过,现将从网上总结出的资料记下以供同仁学习。 (1)new 运算符 用于创建对象和调用构造函数。 (2)new 修饰符 用于隐藏基类成员的继承成员。 (3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。 new 运算符 1.用于创建对象和调用构造函数 例...

weixin_34294649的博客 229
上一篇: Json的float单精度浮点数类型支持Can't assign value '11.88' (type System.Double) to type System.Single
下一篇: C# 字符串比较效率测试
 codingriver
博客等级 码龄8年 93粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值