如何在不初始化的情况下声明反序列化的类参数数组?

时间:2016-10-11 22:45:25

标签: c# arrays deserialization

我认为这是我从前两个主题中学到的内容的延续。而不是Javascript我将使用纯C#。

我有一个包含3个参数的类,我正在创建一个变量,它是对类类型进行反序列化的结果

var param = js.Deserialize<ClassName>(jqData.Params);

根据我从first thread学到的东西,它根据我在3个文本框中输入的内容存储值。

出于我们的目的,我们假设我只将输入放在三个文本框中,因此值为null, "abc", null

现在,我从我的second post得到了一些非常好的建议,我想实施。

我想创建一个对象数组,没有初始化,因为这些对象已经包含值,根据来自that excellent post的条件将数组减少到1个元素,然后继续我的验证逻辑。

但是,我正在努力宣布数组部分。从我在SO中看到的,大多数线程都在谈论声明和初始化这些元素。我不需要它。

我需要的是声明一个数组,其中包含类元素,类似于array = [param.elem1, param.elem2, param.elem3],当我运行代码时,它将返回[null, "abc", null]

能否请您指出如何正确宣布此类阵列?

1 个答案:

答案 0 :(得分:1)

您的想法接近于如何处理。只需将$更改为:

即可
array = [param.elem1, param.elem2, param.elem3]

如果您知道param.elem1 / 2/3的类型,则可以使用特定类型(例如var myArray = new object[] { param.elem1, param.elem2, param.elem3 }; 代替string[])。