zoukankan      html  css  js  c++  java
  • C#之方法传递结构和类之间的区别学习案例

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace struct_test
    {
        class Program
        {
            class theClass
            {
                public string willIChange;
            }
            //theStruct结构声明
            struct theStruct
            {
                public string willIChange;
            }
            class TestClass_Struct
            {
                static void ClassTaker(theClass c)
                {
                    c.willIChange = "旧金山";
                }
                static void StructTaker(theStruct s)
                {
                    s.willIChange = "纽约";
                }
                static void Main()
                {
                    theClass testClass = new theClass();   //实例化一个类
                    theStruct testStruct = new theStruct();//实例化一个结构
                    testClass.willIChange = "北京";          //赋值
                    testStruct.willIChange = "上海";
                    Console.WriteLine("传递类实例之前的内容等于={0}",testClass.willIChange);
                    Console.WriteLine("传递结构实例之前的内容等于={0}",testStruct.willIChange);
                    Console.WriteLine();
                    ClassTaker(testClass);
                    StructTaker(testStruct);
                    Console.WriteLine("传递类实例之后内容等于={0}",testClass.willIChange);
                    Console.WriteLine("传递结构实例之后内容等于={0}",testClass.willIChange);
                    //本实例的输出表明,当向ClassTaker方法传递类实例是,只更改类字段的值。但是想StructTaker方法
                    //传递结构实例并不更改结构字段。这是因为向StructTaker方法传递的是结构的副本,而向ClassTaker
                    //方法传递的是对类的引用。
                }
            }
        }
    }

  • 相关阅读:
    后端注册接口完善
    编写注册接口
    Git 多人开发及常见问题
    Git 常用命令
    GIT 的安装及配置SSH
    ORM查询方法(整理)
    HTTP的系列理解与整理
    Unity C# 反射
    C# 中的委托和事件
    Unity C# 运用 GetSaveFileName() 导出Excel文件
  • 原文地址:https://www.cnblogs.com/zztong/p/6695235.html
Copyright © 2011-2022 走看看