C#之方法传递结构和类之间的区别学习案例

转载 2016年08月30日 16:23:09
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
                //方法传递的是对类的引用。
            }
        }
    }
}

C#中的值传递和引用传递是什么?

先搞清什么是值类型和引用类型。 C#值类型数据直接在他自身分配到的内存中存储数据,而C#引用类型只是包含指向存储数据位置的指针。 基础数据类型(string类型除外):包括整型、浮点型、十进制型、...

关于MD5加密中转换byte为十六进制的问题

关于MD5加密中转换byte为16进制的问题问题陈述先看看MD5加密的代码StringBuilder builder = new StringBuilder(); MessageDigest md =...

C#中form窗体之间的传递几个方法学习

在windows form之间传值,我总结了有四个方法:全局变量、属性、窗体构造函数和delegate。 第一个全局变量: 这个最简单,只要把变量描述成static就可以了,在form2中直接引用...

黑马程序员之C#学习笔记:类与结构的区别

一.类与结构的示例比较:   结构示例:   public struct Person      {        string Name;        int height;    ...

C#结构体特性及与类的区别

  • 2012年09月10日 09:54
  • 3KB
  • 下载

C#和C++之间通过WM_COPYDATA相互传递数据结构

C#和C++之间通过WM_COPYDATA相互传递数据结构  前言:今天真心忍不住要写这篇博客了,原因很简单,前几天在做这方面的通信,调试了好久,各种bug,也是第一次在C#和C++之间通过SendM...

C#学习之byte数组与结构体之间的转换

原文: http://www.cnblogs.com/sunrack/articles/1244043.html //**注意在我的实际项目中直接调用字节转换,并没有定义结构体 在写C#T...
  • ycigwy
  • ycigwy
  • 2017年04月21日 09:59
  • 359

C#中变量与对象、类型与类之间的区别

如果有一个类,则在变量声明语句中可以将这个类用作类型,而对象是一种变量,针对用户自己定义的类,广义上的变量针对系统提供的数据类型。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#之方法传递结构和类之间的区别学习案例
举报原因:
原因补充:

(最多只允许输入30个字)