如何将作为列表数组的对象成员中的值分配给另一个对象成员

本文关键字:成员 分配 一个对象 对象 列表 数组 | 更新日期: 2023-09-27 18:34:21

我在这里定义了两个类:

public class datatype1
{
    public double lat { get; set; }
    public double lon { get; set; }
}
public class datatype2
{
    public List<List<double>> lat { get; set; }
    public List<List<double>> lon { get; set; }
}
var data1=new datatype1();
var data2=new datatype2();
data2.lat[0][0]=30.0;
data2.lat[1][0]=40.0;
data2.lon[0][0]=30.0;
data2.lon[1][0]=40.0;

如何在循环中相应地将 data2 中的值分配给 data1

原始数据来自以下两个链接:

1) ftp://ftp.star.nesdis.noaa.gov/pub/smcd/spb/xjin/icvs/json/npp/2016/20160103_CRIS.SDR.json

这个使用 http://json2csharp.com/返回一个 json 类型,如 datatype1:

public class RootObject
{
    public double lat { get; set; }
    public double lon { get; set; }
    public int BT900 { get; set; }
    public int BT2500 { get; set; }
    public int BT1030 { get; set; }
    public int BT1500 { get; set; }
    public double iRad900 { get; set; }
    public double iRad2500 { get; set; }
    public int OverallQFlw { get; set; }
    public int OverallQFmw { get; set; }
    public int OverallQFsw { get; set; }
    public int FOV { get; set; }
    public int FOR { get; set; }
    public int Scan { get; set; }
    public int QF11 { get; set; }
    public int QF12 { get; set; }
    public int QF13 { get; set; }
    public int QF14 { get; set; }
    public int QF15 { get; set; }
    public int QF16 { get; set; }
    public int QF2lw { get; set; }
    public int QF2mw { get; set; }
    public int QF2sw { get; set; }
    public int QF32lw { get; set; }
    public int QF32mw { get; set; }
    public int QF32sw { get; set; }
    public int QF33lw { get; set; }
    public int QF33mw { get; set; }
    public int QF33sw { get; set; }
    public int QF34lw { get; set; }
    public int QF34mw { get; set; }
    public int QF34sw { get; set; }
    public int QF35lw { get; set; }
    public int QF35mw { get; set; }
    public int QF35sw { get; set; }
    public int QF41lw { get; set; }
    public int QF41mw { get; set; }
    public int QF41sw { get; set; }
    public int QF42lw { get; set; }
    public int QF42mw { get; set; }
    public int QF42sw { get; set; }
    public int QF43lw { get; set; }
    public int QF43mw { get; set; }
    public int QF43sw { get; set; }
    public int QF44lw { get; set; }
    public int QF44mw { get; set; }
    public int QF44sw { get; set; }
    public int QF45lw { get; set; }
    public int QF45mw { get; set; }
    public int QF45sw { get; set; }
    public int DSWSizeForwardLw { get; set; }
    public int DSWSizeForwardMw { get; set; }
    public int DSWSizeForwardSw { get; set; }
    public int DSWSizeReverseLw { get; set; }
    public int DSWSizeReverseMw { get; set; }
    public int DSWSizeReverseSw { get; set; }
    public int ITWSizeForwardLw { get; set; }
    public int ITWSizeForwardMw { get; set; }
    public int ITWSizeForwardSw { get; set; }
    public int ITWSizeReverseLw { get; set; }
    public int ITWSizeReverseMw { get; set; }
    public int ITWSizeReverseSw { get; set; }
    public int PRTTempsForward { get; set; }
    public int PRTTempsReverse { get; set; }
    public int ImpulseNoiselw { get; set; }
    public int ImpulseNoisemw { get; set; }
    public int ImpulseNoisesw { get; set; }
    public int ZPDFClw { get; set; }
    public int ZPDFCmw { get; set; }
    public int ZPDFCsw { get; set; }
    public int SDRFClw { get; set; }
    public int SDRFCmw { get; set; }
    public int SDRFCsw { get; set; }
    public int ZPDMglw { get; set; }
    public int ZPDMgmw { get; set; }
    public int ZPDMgsw { get; set; }
    public double DSSymmetrylw { get; set; }
    public double DSSymmetrymw { get; set; }
    public double DSSymmetrysw { get; set; }
    public double DSSpcStabForwardlw { get; set; }
    public double DSSpcStabForwardmw { get; set; }
    public double DSSpcStabForwardsw { get; set; }
    public double DSSpcStabReverselw { get; set; }
    public double DSSpcStabReversemw { get; set; }
    public double DSSpcStabReversesw { get; set; }
    public double ITSpcStabForwardlw { get; set; }
    public double ITSpcStabForwardmw { get; set; }
    public double ITSpcStabForwardsw { get; set; }
    public double ITSpcStabReverselw { get; set; }
    public double ITSpcStabReversemw { get; set; }
    public double ITSpcStabReversesw { get; set; }
    public double ITTempStabForward { get; set; }
    public double ITTempStabReverse { get; set; }
    public double ITTempCons { get; set; }
    public double MeaLaserWL { get; set; }
    public double MonLaserWL { get; set; }
    public double ResLaserWL { get; set; }
    public string Maneuver { get; set; }
    public string V { get; set; }
    public string granuleID { get; set; }
}

这个使用 http://json2csharp.com/返回一个 json 类型,如 datatype2。

2) ftp://ftp.star.nesdis.noaa.gov/pub/smcd/spb/xjin/icvs/json/npp/2016/20160104_CRIS.SDR.json

public class RootObject
{
    public List<List<double>> lat { get; set; }
    public List<List<double>> lon { get; set; }
    public List<List<int>> BT900 { get; set; }
    public List<List<int>> BT2500 { get; set; }
    public List<List<int>> BT1030 { get; set; }
    public List<List<int>> BT1500 { get; set; }
    public List<List<double>> iRad900 { get; set; }
    public List<List<double>> iRad2500 { get; set; }
    public List<List<int>> OverallQFlw { get; set; }
    public List<List<int>> OverallQFmw { get; set; }
    public List<List<int>> OverallQFsw { get; set; }
    public List<List<int>> FOV { get; set; }
    public List<List<int>> FOR { get; set; }
    public List<List<int>> Scan { get; set; }
    public List<List<int>> QF11 { get; set; }
    public List<List<int>> QF12 { get; set; }
    public List<List<int>> QF13 { get; set; }
    public List<List<int>> QF14 { get; set; }
    public List<List<int>> QF15 { get; set; }
    public List<List<int>> QF16 { get; set; }
    public List<List<int>> QF2lw { get; set; }
    public List<List<int>> QF2mw { get; set; }
    public List<List<int>> QF2sw { get; set; }
    public List<List<int>> QF32lw { get; set; }
    public List<List<int>> QF32mw { get; set; }
    public List<List<int>> QF32sw { get; set; }
    public List<List<int>> QF33lw { get; set; }
    public List<List<int>> QF33mw { get; set; }
    public List<List<int>> QF33sw { get; set; }
    public List<List<int>> QF34lw { get; set; }
    public List<List<int>> QF34mw { get; set; }
    public List<List<int>> QF34sw { get; set; }
    public List<List<int>> QF35lw { get; set; }
    public List<List<int>> QF35mw { get; set; }
    public List<List<int>> QF35sw { get; set; }
    public List<List<int>> QF41lw { get; set; }
    public List<List<int>> QF41mw { get; set; }
    public List<List<int>> QF41sw { get; set; }
    public List<List<int>> QF42lw { get; set; }
    public List<List<int>> QF42mw { get; set; }
    public List<List<int>> QF42sw { get; set; }
    public List<List<int>> QF43lw { get; set; }
    public List<List<int>> QF43mw { get; set; }
    public List<List<int>> QF43sw { get; set; }
    public List<List<int>> QF44lw { get; set; }
    public List<List<int>> QF44mw { get; set; }
    public List<List<int>> QF44sw { get; set; }
    public List<List<int>> QF45lw { get; set; }
    public List<List<int>> QF45mw { get; set; }
    public List<List<int>> QF45sw { get; set; }
    public List<List<int>> DSWSizeForwardLw { get; set; }
    public List<List<int>> DSWSizeForwardMw { get; set; }
    public List<List<int>> DSWSizeForwardSw { get; set; }
    public List<List<int>> DSWSizeReverseLw { get; set; }
    public List<List<int>> DSWSizeReverseMw { get; set; }
    public List<List<int>> DSWSizeReverseSw { get; set; }
    public List<List<int>> ITWSizeForwardLw { get; set; }
    public List<List<int>> ITWSizeForwardMw { get; set; }
    public List<List<int>> ITWSizeForwardSw { get; set; }
    public List<List<int>> ITWSizeReverseLw { get; set; }
    public List<List<int>> ITWSizeReverseMw { get; set; }
    public List<List<int>> ITWSizeReverseSw { get; set; }
    public List<List<int>> PRTTempsForward { get; set; }
    public List<List<int>> PRTTempsReverse { get; set; }
    public List<List<int>> ImpulseNoiselw { get; set; }
    public List<List<int>> ImpulseNoisemw { get; set; }
    public List<List<int>> ImpulseNoisesw { get; set; }
    public List<List<int>> ZPDFClw { get; set; }
    public List<List<int>> ZPDFCmw { get; set; }
    public List<List<int>> ZPDFCsw { get; set; }
    public List<List<int>> SDRFClw { get; set; }
    public List<List<int>> SDRFCmw { get; set; }
    public List<List<int>> SDRFCsw { get; set; }
    public List<List<int>> ZPDMglw { get; set; }
    public List<List<int>> ZPDMgmw { get; set; }
    public List<List<int>> ZPDMgsw { get; set; }
    public List<List<double>> DSSymmetrylw { get; set; }
    public List<List<double>> DSSymmetrymw { get; set; }
    public List<List<double>> DSSymmetrysw { get; set; }
    public List<List<double>> DSSpcStabForwardlw { get; set; }
    public List<List<double>> DSSpcStabForwardmw { get; set; }
    public List<List<double>> DSSpcStabForwardsw { get; set; }
    public List<List<double>> DSSpcStabReverselw { get; set; }
    public List<List<double>> DSSpcStabReversemw { get; set; }
    public List<List<double>> DSSpcStabReversesw { get; set; }
    public List<List<double>> ITSpcStabForwardlw { get; set; }
    public List<List<double>> ITSpcStabForwardmw { get; set; }
    public List<List<double>> ITSpcStabForwardsw { get; set; }
    public List<List<double>> ITSpcStabReverselw { get; set; }
    public List<List<double>> ITSpcStabReversemw { get; set; }
    public List<List<double>> ITSpcStabReversesw { get; set; }
    public List<List<double>> ITTempStabForward { get; set; }
    public List<List<double>> ITTempStabReverse { get; set; }
    public List<List<double>> ITTempCons { get; set; }
    public List<List<double>> MeaLaserWL { get; set; }
    public List<List<double>> MonLaserWL { get; set; }
    public List<List<double>> ResLaserWL { get; set; }
    public List<string> Maneuver { get; set; }
    public List<string> V { get; set; }
    public List<string> granuleID { get; set; }
}

在此特定情况下,返回的对象包含每个属性的 11 个元素。

如何使用 foreach 循环将 datatype2 中每个属性的第一个元素分配给数据类型 1

如何将作为列表数组的对象成员中的值分配给另一个对象成员

datatype2 data2 = GetYourJsonData();
for(var i=0; i<data2.lat.Count; i++)
{
    datatype1 data1 = new datatype1 
        {
            lat = data2.lat[i][0],
            lon = data.lon[i][0] // remember check for nulls
        };
       // do your stuff with data1
}