C# 从类中获取列表将返回null

C# 从类中获取列表将返回null,c#,C#,我试图从另一个类中获取公共列表,但在获取该列表时,它返回为null。调试时,列表被正确添加到,但返回为null 这是我的密码: OrderAddToListWorkflow.cs 以下是一个快照或调试属性: 在这里,我看到_orderRepository有产品列表文件列表 但是为什么我不能将字符串类型的ProductsFile存储到列表中 从表面上看,, 你失踪了 productsClassFile.ReadFile 中间 ProductsFile productsClassFile = new

我试图从另一个类中获取公共列表,但在获取该列表时,它返回为null。调试时,列表被正确添加到,但返回为null

这是我的密码:

OrderAddToListWorkflow.cs

以下是一个快照或调试属性:

在这里,我看到_orderRepository有产品列表文件列表

但是为什么我不能将字符串类型的ProductsFile存储到列表中

从表面上看,, 你失踪了 productsClassFile.ReadFile

中间

ProductsFile productsClassFile = new ProductsFile();
// insert here
var myList = productsClassFile.productsFile.Select(x => x.ProductsFile).ToList(); //returns as null

在上一个屏幕截图中,您尚未执行任务。监视窗口显示productsClassFile及其productsFile字段应该是一个属性,尽管它们都是非空的;Select和ToList永远不会返回null。执行该行,myList将被分配一个实例。我明天会检查。它没有打印任何内容。很明显,在监视窗口中,productsClassFile.productsFile在值列中没有Count=0证明的元素,因此结果列表不可能有任何元素。productsFile构造函数中有什么?您正在实例化它,然后立即查询其名称不正确的.productsFile属性。不清楚将这些值传递给字符串是什么意思。好的,我假设您希望我首先在OrderAddToListworkflow.cs中调用ReadFile,但我从另一个类调用ReadFile,是否有理由改为在那里调用它?一定不一样。一定是因为当我说新产品文件时,它现在是空的。
public List<Order> productsFile = new List<Order>();

    public void ReadFile()
    {
        string productsFileName = $"C:\\tempfolder\\Products.txt";
        List<string> productsLines = File.ReadAllLines(productsFileName).ToList();

        foreach (var productLine in productsLines.Skip(1))
        {
            List<string> entry = productLine.Split(',').ToList();

            Order productsOrder = new Order();
            productsOrder.ProductType = entry[0];
            decimal.TryParse(entry[1], out decimal _costPerSquareFoot);
            productsOrder.CostPerSquareFoot = _costPerSquareFoot;
            decimal.TryParse(entry[2], out decimal _laborCostPerSquareFoot);
            productsOrder.LaborCostPerSquareFoot = _laborCostPerSquareFoot;
            var _product = productsOrder.ProductsFile;

            productsFile.Add(productsOrder);
        }
    }
public class Order
{
    public int OrderNumber { get; set; }
    public string Date { get; set; }
    public string CustomerName { get; set; }
    public string State { get; set; }
    public string StateName { get; set; }
    public decimal TaxRate { get; set; }
    public string ProductType { get; set; }
    public decimal Area { get; set; }
    public decimal CostPerSquareFoot { get; set; }
    public decimal LaborCostPerSquareFoot { get; set; }
    public decimal MaterialCost { get; set; }
    public decimal LaborCost { get; set; }
    public decimal Tax { get; set; }
    public decimal Total { get; set; }


    public string TaxFile => $"{State},{StateName},{TaxRate}";
    public string ProductsFile => $"{ProductType},{CostPerSquareFoot},{LaborCostPerSquareFoot}";

    public Order() { }
...
ProductsFile productsClassFile = new ProductsFile();
// insert here
var myList = productsClassFile.productsFile.Select(x => x.ProductsFile).ToList(); //returns as null