Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用JSON语法实例化锯齿状数组_C#_Xsd.exe - Fatal编程技术网

C# 用JSON语法实例化锯齿状数组

C# 用JSON语法实例化锯齿状数组,c#,xsd.exe,C#,Xsd.exe,我有一个XSD.exe生成的类。我使用的是一种粗略的控制反转。我的测试对象一直工作,直到我添加了这个奇特的XML片段: <items> <item> <model>1000</model> <description>Torque wrench</description> <material>1545454</material> <lot

我有一个XSD.exe生成的类。我使用的是一种粗略的控制反转。我的测试对象一直工作,直到我添加了这个奇特的XML片段:

  <items>
    <item>
      <model>1000</model>
      <description>Torque wrench</description>
      <material>1545454</material>
      <lot>3</lot>
      <serial></serial>
      <transferQty>1</transferQty>
      <shipQty></shipQty>
    </item>
    <item>
         //..item 2
    </item>
    <item>
          //...item 3
    </item>
  </items>
</itemOrder>
编译器错误:

Error   3   Cannot implicitly convert type 'itemOrderItemsItem[][]' to 'itemOrderItemsItem[]'   

我愿意修改xsd.exe生成的类,如果这样可以使生活更轻松的话。我只想重复N次。

将您的示例简化为:

new int[][]{
    new int[1][]//this hardcoded 1 bothers me.  better way?
    {
        new int[]
        {
            4
        }
    }
}
现在你应该能够看到问题是什么;您试图将int[][]放在int[]]中,而编译器说它需要int[]。删除带有注释的行:

new int[][]{
    new int[]
    {
        4
    }
}
这在代码中是等效的:

GeneratedByXsdClass.items = new itemOrderItemsItem[][]{
    new itemOrderItemsItem[]
    {
        new itemOrderItemsItem()
        {
            model = "1000",
            description = "Torque Wrench",
            material = "10002525",
            lot = "3",
            serial = "",
            transferQty = "1",
            shipQty = ""
        }
    }
};

这与Json有什么关系?我认为我用来实例化属性的语法是Json语法。这不正确吗?Json是一种数据格式,其语法是Javascript的子集。这里有一个c的内联对象初始化语法示例。
GeneratedByXsdClass.items = new itemOrderItemsItem[][]{
    new itemOrderItemsItem[]
    {
        new itemOrderItemsItem()
        {
            model = "1000",
            description = "Torque Wrench",
            material = "10002525",
            lot = "3",
            serial = "",
            transferQty = "1",
            shipQty = ""
        }
    }
};