首页 > 解决方案 > 检查主 c# 中的类列表

问题描述

该计划有2个课程:

ItemUtility 类:

public class ItemUtility
{
    public ItemUtility(int item, int utility)
    {
        this.item = item;
        this.utility = utility;
    }

    public int item { get; set; }
    public int utility { get; set; }
}

TransactionTP 类:

public class TransactionTP
{
    protected List<ItemUtility> itemsUtilities { get; set; }
    protected int transactionUtility { get; set; }
    public TransactionTP(List<ItemUtility> itemsUtilities, int transactionUtility)
    {
        this.itemsUtilities = itemsUtilities;
        this.transactionUtility = transactionUtility;
    }
}

我们已经定义了一个列表 ( List<TransactionTP> transactions) 并将值分配给这个集合

在此处输入图像描述

使用下面的命令,我得到第一行

    foreach (TransactionTP b in matrix)
{
    matrix[b];
}

如何获取第一笔交易第一行的物品和效用?

根据照片:

214 + 260 + ...

846 + 552 + ...

我尝试了以下程序,但这是一个错误:

matrix[a].itemsUtilities[b]

标签: c#

解决方案


matrix是 的列表TransactionTP,因此当您执行 foreach 时,您正在枚举列表项。这是应该工作的:

foreach (TransactionTP b in matrix)
{
    if(b.itemsUtilities.Count > 0)
    {
        // Do something with item / utility...
        b.itemsUtilities[0].item
        b.itemsUtilities[0].utility
    }
}

如果您只需要第一个事务和第一个 itemsUtilities,那么您只需要使用索引器访问它:matrix[0].itemsUtilities[0].item


推荐阅读