当前位置: 首页 > news >正文

舟山网站开发做兼职的网站都有哪些工作内容

舟山网站开发,做兼职的网站都有哪些工作内容,十大电子游戏平台网站,正能量不良网站进入窗口免费阅读一、值类型与引用类型区分 正确理解值类型与引用类型,可以更好的帮助软件开发人员写出性能更好且正确稳定运行的程序: C#值类型与引用类型区别 区别值类型引用类型定义所有继承自【System.ValueType】类型的都是值类型(valueType继承自Syste…

一、值类型与引用类型区分

正确理解值类型与引用类型,可以更好的帮助软件开发人员写出性能更好且正确稳定运行的程序:

C#值类型与引用类型区别
区别值类型引用类型
定义所有继承自【System.ValueType】类型的都是值类型(valueType继承自System.Object)如常见基础数据类型【byte,short,int,long,float,double,decimal,char,bool 、enum和 struct】都是值类型所有不继承

 【System.ValueType】类型都都是引用类型;对于C#而言所有以【Class】关键字定义的内容都是引用类型;【string、class】都是引用类型

变量赋值

值类型的变量赋值是直接获取到一个真实数据副本;变量与数据是【一对一的关系】互不影响

引用类型赋值只是把对象的引用赋给变量;

变量与数据对象是【多对一的关系】相互影响

内存分配

【值类型】变量声明后,不管是否已经赋值,编译器为其在【线程栈】分配【静态内存】,【栈内分配空间大小因变量类型而异】

线程栈的空间相对有限,但运行效率比堆高的多

【引用类型】声明一个类时,只在线程栈中分配一小片内存空间用于容纳一个数据对象地址,且此时没有为其分配堆上的数据对象内存空间;只有使用 new 关键字创建一个类的实例时,才会分配堆上的空间,并把堆上空间的地址保存到线程栈上分配的小片空间中

继承结构【值类型】都继承自【System.ValueType】,它们的比较方法【ValueType.Equals(Object) 】实现了【数据内容的比较

【引用类型】都继承自【System.Object】,它们的比较方法【Object.Equals(Object)】实现的是【引用相等性;等效于调用 Object.ReferenceEquals】

System.Object.Equals 方法 - .NET | Microsoft Learn

使用场景

【值类型】在内存管理方面具有更好的效率,并且不支持多态,【适合用做存储数据的载体】

判断使用值类型依据:

①只用于数据存储;

②永远不可能有子类;

③没有多态行为;

【引用类型】支持多态,【适合用于定义应用程序的行为】

C#面向对象的三大特性(封装、继承、多态)

C#的两种类据类型:值类型和引用类型_c# .value2-CSDN博客文章浏览阅读4.7k次,点赞5次,收藏18次。一、什么是值类型,什么是引用类型概念:值类型直接存储其值,而引用类型存储对其值的引用。部署:托管堆上部署了所有引用类型。引用类型:基类为Objcet值类型:均隐式派生自System.ValueType:值类型:byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。..._c# .value2 https://blog.csdn.net/xiaochenXIHUA/article/details/90202915 C#的字符串之String类与StringBuilder类区别于适用场景-CSDN博客文章浏览阅读1k次,点赞7次,收藏27次。C#中的字符串类String与StringBuilder有什么区别?对应的适用场景是什么? https://coffeemilk.blog.csdn.net/article/details/146288410

二、值类型与引用类型示例

    public class InfluxDBConPara{public string Url { get; set; }public string Token { get; set; }public string User { get; set; }public string Pwd { get; set; }public string BucketName { get; set; }public string Org { get; set; }}public struct InfluxDbConPara{public string Url { get; set; }public string Token { get; set; }public string User { get; set; }public string Pwd { get; set; }public string BucketName { get; set; }public string Org { get; set; }}
    public class InfluxdbOfficialHelper{#region   基础参数//类private InfluxDBConPara influxDBConPara;//结构体private InfluxDbConPara influxDbConPara;#endregionpublic InfluxdbOfficialHelper(string url,string token){this.influxDBClient = new InfluxDBClient(url,token);influxDBConPara = new InfluxDBConPara();influxDBConPara.Url = url;influxDBConPara.Token = token;influxDbConPara = new InfluxDbConPara();influxDbConPara.Url = url;influxDbConPara.Token = token;}public InfluxDBConPara GetInfluxDBConPara { get {return influxDBConPara;} }public InfluxDbConPara GetInfluxDbConPara{get{return influxDbConPara;}}public void ToSting(){string str = $"InfluxDB参数 【 URL:{influxDBConPara.Url}】【Token:{influxDBConPara.Token}】【User:{influxDBConPara.User}】【Pwd:{influxDBConPara.Pwd}】" +$"【BucketName:{influxDBConPara.BucketName}】【Org:{influxDBConPara.Org}】";Console.WriteLine(str);}public void ToSting2(){string str = $"InfluxDB参数 【 URL:{influxDbConPara.Url}】【Token:{influxDbConPara.Token}】【User:{influxDbConPara.User}】【Pwd:{influxDbConPara.Pwd}】" +$"【BucketName:{influxDbConPara.BucketName}】【Org:{influxDbConPara.Org}】";Console.WriteLine(str);}
        public static void Test(){InfluxdbOfficialHelper influxdbOfficialHelper = new InfluxdbOfficialHelper("http://192.168.3.208:8086", "teshjflasjflsfj");Console.WriteLine("----------------引用类型【类】测试--------------------");InfluxDBConPara influxDBConPara2 = influxdbOfficialHelper.GetInfluxDBConPara;influxdbOfficialHelper.ToSting();influxDBConPara2.Url = "修改URL";influxDBConPara2.Token = "修改Token";influxDBConPara2.User = "修改用户";influxDBConPara2.Pwd = "修改密码";influxDBConPara2.BucketName = "修改数据库";influxDBConPara2.Org = "修改Org";influxdbOfficialHelper.ToSting();Console.WriteLine("------------值类型【结构】测试---------------");InfluxDbConPara influxDbConPara2 = influxdbOfficialHelper.GetInfluxDbConPara;influxdbOfficialHelper.ToSting2();influxDbConPara2.Url = "修改Token";influxDbConPara2.Token = "修改Token";influxDbConPara2.User = "修改用户";influxDbConPara2.Pwd = "修改密码";influxDbConPara2.BucketName = "修改数据库";influxDbConPara2.Org = "修改Org";influxdbOfficialHelper.ToSting2();}

执行结果如下:

此次示例的值类型与引用类型效果图如下: 

三、关于此次值类型与引用类型的小结

        《1》如果我们需要对类进行实例化之后,对外提供的实例化参数内容【不可修改】,那么我们的参数内容就需要使用【值类型】必须使用常见基础数据类型【byte,short,int,long,float,double,decimal,char,bool 、enum和 struct】作为变量内容)。

        《2》如果我们需要对类进行实例化之后,对外提供的实例化参数内容【可随便修改】,那么我们的参数内容就需要使用【引用类型】必须使用【string、class】作为变量内容)。

C#面向对象的三大特性(封装、继承、多态)_c# 三大特性-CSDN博客文章浏览阅读3.2k次,点赞3次,收藏43次。一、封装 把客观的事物封装成类,并将类的内部实现隐藏,以保证数据的完整性;每个对象都包含了他能进行操作所需要的所有信息,因此对象不必依靠其他的对象来完成自己的操作。【优点】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性;【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2...._c# 三大特性 https://blog.csdn.net/xiaochenXIHUA/article/details/95037977

http://www.dtcms.com/a/614610.html

相关文章:

  • 重建内在秩序:从神经科学理解情绪的逻辑
  • 网站排名软件利搜做网站背景图的科技图片
  • ASC学习笔记0019:返回给定游戏属性的当前值,如果未找到该属性则返回零。
  • Pytnon入门学习(一)
  • 学习笔记9
  • 自己做的相册网站php做网站开源项目
  • 宁波本地网站排行网架生产企业
  • 百度网站域名做网站为什么差价很大
  • 青岛网站建设公司有哪些设计logo素材
  • C语言编译软件 | 提升编程效率与开发体验
  • 深圳市建设行业门户网站做网站准备什么问题
  • 基于Android智能旅游管家系统
  • 数据智能开发之六 AI原生架构
  • 如何建一个购物网站wordpress国外主题下载
  • 第37节:移动端优化与触控交互
  • 网站地图什么意思wordpress 政企
  • mig烧录卡资源 Mig-Switch游戏合集 烧录卡 1.75T
  • com网站注册域名wordpress 下载的主题插件在俺儿
  • 主控STM32F407ZET6控制板PLC工控板FX3U,FX5U,控制IO卡 STM32F4...
  • 资阳网站优化互联网网站 数据库
  • 上海建设银行网站58同城租房
  • 深度学习Day1--数学基础 + 机器学习基础
  • 基于 CNN-BiLSTM-Attention 的电力变压器油温多元时间序列预测(含详细源码)
  • 长乐区住房和城乡建设局网站有什么好的建站公司
  • 做网站有前途吗东莞市建设局网站首页
  • 律师个人网站模板开发网站的基本流程五个阶段
  • 正则表达式(/g修饰符)踩坑
  • 某空气质量检测平台的爬虫——mitmproxy的简单使用
  • 我市精神文明建设的门户网站小程序有哪些
  • 【开题答辩全过程】以 二手书平台管理系统的设计与实现为例,包含答辩的问题和答案