众所周知,函数参数的调用是几乎所有语言中都会涉及到的问题。C#和大部分语言一样,有传值调用和传引用调用。其中对于一般的int,float,bool等基本类型以及struct类型参数,C#是默认传值调用。而对于Class类型以及加了关键字ref,out之类的参数,则使用传引用调用。而我在最近就遇到这样一种情况:使用了Class类型参数,但是并不想传引用调用,我就是想“强行”传值调用(倔强boy脸)。在一番挣扎后,终于还是找到了一种比较简单快捷的方法,那就是序列化与反序列化。
首先先看一段代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Csharp_Test
{
class Program
{
class Person
{