C# 从字典值中包含的列表中获取值

C# 从字典值中包含的列表中获取值,c#,list,dictionary,C#,List,Dictionary,所以我有一个包含值的字典,它是一个包含一系列双精度的类,我试图从字典中包含的列表中得到一个特定的数值;对于字典中的每个值。我的意思是,对于字典中的每一项,我希望它的列表值中的第8项,例如。以下是我的代码: foreach (KeyValuePair<int, ListClass> pair in MyDictionary) { pair.Value.MyList[7]; } foreach(MyDictionary中的KeyValuePair对) { pair.Value.

所以我有一个包含值的字典,它是一个包含一系列双精度的类,我试图从字典中包含的列表中得到一个特定的数值;对于字典中的每个值。我的意思是,对于字典中的每一项,我希望它的列表值中的第8项,例如。以下是我的代码:

foreach (KeyValuePair<int, ListClass> pair in MyDictionary)
{
    pair.Value.MyList[7];
}
foreach(MyDictionary中的KeyValuePair对)
{
pair.Value.MyList[7];
}
我的列表类定义如下所示:

public class ListClass
{
    public List<double> MyList = new List<double>();
}
公共类ListClass
{
public List MyList=new List();
}

此行试图获取列表中的第8个值时出错,我不确定如何更正它。错误表示“只能将赋值、调用、递增、递减和新对象表达式用作语句”。我还检查了一下,以确保字典中有完成这项工作所需的所有信息,它的所有列表中都包含了所需的8个翻倍。我很抱歉,如果这看起来像一个简单的问题,我是新的编程和不知所措。任何帮助都将不胜感激,谢谢。

该错误是因为您没有做任何有价值的事情。只是说“获取这个值”,然后不使用它做任何事情对编译器来说没有意义

将其分配给变量或在方法调用中使用,错误就会消失

例如:

foreach (KeyValuePair<int, ListClass> pair in MyDictionary)
{
    var eighthValue = pair.Value.MyList[7];
}
foreach(MyDictionary中的KeyValuePair对)
{
var eighthValue=pair.Value.MyList[7];
}

仅仅把它分配给一个变量仍然是无用的(你需要在以后使用它才能使其有意义),但它会编译。

一个错误,错误是。。。?还显示
ListClass
的类定义。为什么列表首先包含在这个类中?更多的细节是必要的,但是我会检查一下,看看ListClass是否有任何类型的getter,您可能会更好地使用它。另外,要获得列表中的第8个值,可以使用pair.value.MyList[7];如果您没有MyList的自定义索引器,则
[8]
将返回第9项,而不是第8项。C#中的索引从零开始。无论如何,如果你有错误,总是把它的描述添加到问题中,可能列表中没有9个项目?谢谢你,我不敢相信我没有试过,我正在到处寻找,试图找出它可能是什么。再次感谢