私はWCFサービスを開発しています。このサービスでは、各インデックスの配列を返す必要があります。しかし、私は1つのインデックスが1つまたは複数のデータを持つ場合があります(このケースでは多い場合があります)。私は私が辞書のC#重複キー
public class Indicador
{
[DataMember]
public string indicador_nombre { get; set; }
[DataMember]
public string indicador_codigo { get; set; }
[DataMember]
public string indicador_tipo { get; set; }
[DataMember]
public string indicador_descripcion { get; set; }
[DataMember]
public Dictionary<string, List<Celda>> celdas { get; set; }
}
この指標はstring
とCeldas
のリストが含まれている辞書を持っているクラス・インジケータを持って
public class Celda
{
[DataMember]
public int celda_id { get; set; }
[DataMember]
public string celda_codigo_empresa { get; set; }
[DataMember]
public string celda_modulo_codigo { get; set; }
[DataMember]
public int celda_orden { get; set; }
[DataMember]
public string celda_categoria_nombre { get; set; }
[DataMember]
public string celda_categoria_codigo { get; set; }
[DataMember]
public List<CeldaKeyVal> valores_celdas { get; set; }
}
Celda
はまた、例えば、私は以下の持っている、今CeldaKeyVal
public class CeldaKeyVal
{
[DataMember]
public string celda_key_codigo { get; set; }
[DataMember]
public string celda_key_valor { get; set; }
}
のリストを持っている:私はkey I002
、2 Celdas
を実現する必要がある場合
{
"GetCheckInResult": {
"indicadores": [
{
"celdas": [
{
"Key": "I001",
"Value": [
{
"celda_categoria_codigo": "C01",
"celda_categoria_nombre": "Cecina",
"celda_codigo_empresa": "E0001",
"celda_id": 1,
"celda_modulo_codigo": "M01",
"celda_orden": 1,
"valores_celdas": [
{
"celda_key_codigo": "CODIGO",
"celda_key_valor": "CHECK1"
},
{
"celda_key_codigo": "IMAGEN",
"celda_key_valor": "L76nD.jpg"
},
{
"celda_key_codigo": "SUBTEXTO",
"celda_key_valor": "prueba subtexto 1"
},
{
"celda_key_codigo": "TEXTO",
"celda_key_valor": "Prueba dominio 1"
}
]
}
]
}
],
"indicador_codigo": "I001",
"indicador_descripcion": "Foto SKU + Descrip.SKU + EAN13 + Sí/No",
"indicador_nombre": "Presencia",
"indicador_tipo": "T01"
},
{
"celdas": [
{
"Key": "I002",
"Value": [
{
"celda_categoria_codigo": "C02",
"celda_categoria_nombre": "Cerdo",
"celda_codigo_empresa": "E0001",
"celda_id": 4,
"celda_modulo_codigo": "M01",
"celda_orden": 1,
"valores_celdas": [
{
"celda_key_codigo": "CODIGO",
"celda_key_valor": "codigo"
}
]
}
]
}
],
"indicador_codigo": "I002",
"indicador_descripcion": "Descrip. + Cantidad",
"indicador_nombre": "Precio",
"indicador_tipo": "T03"
},
{
"celdas": [
{
"Key": "I002",
"Value": [
{
"celda_categoria_codigo": "C01",
"celda_categoria_nombre": "Cecina",
"celda_codigo_empresa": "E0001",
"celda_id": 5,
"celda_modulo_codigo": "M01",
"celda_orden": 4,
"valores_celdas": [
{
"celda_key_codigo": "CODIGO",
"celda_key_valor": "ssddsds"
}
]
}
]
}
],
"indicador_codigo": "I002",
"indicador_descripcion": "Descrip. + Cantidad",
"indicador_nombre": "Precio",
"indicador_tipo": "T03"
},
{
"celdas": [
{
"Key": "I003",
"Value": [
{
"celda_categoria_codigo": "C01",
"celda_categoria_nombre": "Cecina",
"celda_codigo_empresa": "E0001",
"celda_id": 3,
"celda_modulo_codigo": "M01",
"celda_orden": 6,
"valores_celdas": [
{
"celda_key_codigo": "CODIGO",
"celda_key_valor": "sdadsa"
},
{
"celda_key_codigo": "IMAGEN",
"celda_key_valor": "L76nD.jpg"
},
{
"celda_key_codigo": "TEXTO",
"celda_key_valor": "Texto 1"
}
]
}
]
}
],
"indicador_codigo": "I003",
"indicador_descripcion": "Foto + Sí/No",
"indicador_nombre": "Actividades Claves",
"indicador_tipo": "T02"
}
],
"status": 1
}
}
...それから私は2つのCeldas
が同じkey
にあり、別々ではないことを望みます。
最初は私のSPのクエリ結果の各反復について辞書を初期化していました。失敗し、停止するような配置を表示します。私のために私の外で、すなわち一度初期化すると、複数の結果が生成され、それが間違っていれば生成されます。できるだけ具体的になるようにしてください。質問があればコメントしてください!
ディクショナリを読み込むコードはどうなっていますか? – radarbob