C# 将元素添加到列表中的步骤

C# 将元素添加到列表中的步骤,c#,linq,list,foreach,xelement,C#,Linq,List,Foreach,Xelement,下面是我的代码 List<float?> LValues = new List<float?>(); List<float?> IValues = new List<float?>(); List<float?> BValues = new List<float?>(); List<HMData>[] data = new List<HMData>[4]; List<HMData>[] D

下面是我的代码

List<float?> LValues = new List<float?>();
List<float?> IValues = new List<float?>();
List<float?> BValues = new List<float?>();
List<HMData>[] data = new List<HMData>[4];
List<HMData>[] Data = new List<HMData>[7];
float? Value_LfromList = 0;
float? Value_IfromList = 0;
float? Value_BfromList = 0;
int indexer=0;

foreach (var item in Read_xml_for_childobjects_id.Root.Descendants("object"))
{
data[indexer] = new List<HMData>();  // Error occuring on this line
for (int k = 0; k < 7; k++)
  {
    Value_LfromList = LValues.ElementAt(k);
    Value_IfromList = IValues.ElementAt(k);
    Value_BfromList = BValues.ElementAt(k);
    Data[k].Add(new HMData { x = Value_LfromList, y = Value_IfromList, z = Value_BfromList });
  } 
  indexer++;
 }
我得到一个错误,因为
对象引用未设置为对象的瞬间,

我希望输出如以下问题链接所示, ,


我已经尝试了很多方法,但都没有成功,如果能提供帮助,我将非常感激,谢谢。

您只需将列表声明为

List<HMData> Data = new List<HMData>();

您只需将列表声明为

List<HMData> Data = new List<HMData>();
  • 你的代码是一场噩梦。你真的应该考虑重构

  • 您必须初始化
    数据
    数组中的列表

    List<HMData>[] Data = new List<HMData>[7];
    for(int i = 0; i < 7; i++)
        Data[i] = new List<HMData>();
    
    List[]数据=新列表[7];
    对于(int i=0;i<7;i++)
    数据[i]=新列表();
    
  • 还有很多其他问题需要问(比如
    数据
    数据
    之间有什么区别?),为什么这些数组的大小是明确的。没有这些知识,每一个建议都不足以解决你真正的问题

  • 你的代码是一场噩梦。你真的应该考虑重构

  • 您必须初始化
    数据
    数组中的列表

    List<HMData>[] Data = new List<HMData>[7];
    for(int i = 0; i < 7; i++)
        Data[i] = new List<HMData>();
    
    List[]数据=新列表[7];
    对于(int i=0;i<7;i++)
    数据[i]=新列表();
    
  • 还有很多其他问题需要问(比如
    数据
    数据
    之间有什么区别?),为什么这些数组的大小是明确的。没有这些知识,每一个建议都不足以解决你真正的问题


  • 这甚至不会编译-您正在声明一个数组变量,然后尝试为其分配一个普通的
    List
    引用。。。基于这个问题,我还不清楚。这甚至不会编译-您正在声明一个数组变量,然后尝试为其分配一个普通的
    List
    引用。现在您假设OP确实不需要一个列表数组。。。基于这个问题,我并不清楚。第一个问题-永远不要有两个变量
    data
    data
    。这是一个杀手级的可读性。这两个变量之间的有用区别是什么?实际上..我只是想把它完成,最初只有一个数据列表,但后来我又创建了一个,我的要求很奇怪,似乎不可能,但是,在编写代码的过程中,一切都是可能的,只是可能我在逻辑上的某个地方错了。你能检查一下上面问题中给出的链接,再问一个问题,然后告诉我我是怎么想的,以实现他的可能……好吧,拥有难以阅读的代码并不会使完成工作变得更容易。你知道这两个变量代表的是什么吗?好吧…我完全同意你的观点,并为混乱道歉…你能按照这个链接吗[和指导我…请..你已经得到了这个问题的答案…而且更新的内容还不清楚。第一个问题-从来没有两个变量<代码>数据<代码>和<代码>数据<代码>。这对可读性来说是一个杀手。这两个变量之间的有用区别是什么?实际上..我只是想弄清楚这项工作完成了,最初只有一个数据列表,但后来我又创建了一个,我的要求很奇怪,似乎不可能,但在编码过程中,一切都有可能,只是可能我在逻辑上的某个地方错了。你能检查上面问题中给出的链接以了解另一个问题吗?请告诉我,为了实现他的可能性,我在想什么le…好吧,拥有难以阅读的代码并不会使完成工作变得更容易。你知道这两个变量代表什么的区别吗?好吧…我完全同意你的观点,并为混乱道歉。你能跟随这个链接吗[和指导我…请..你已经得到了关于这个问题的答案…并且更新非常不清楚。请遵循此链接[请告诉我,是否有可能实现所需的输出…我已经在实现此输出的噩梦中结束,我非常抱歉造成混乱..请遵循此链接[请告诉我,是否有可能实现预期的产出……我以实现这一产出而结束了噩梦,我对造成的混乱深感抱歉。。