【问题标题】:How can I deserialize and display these instances如何反序列化和显示这些实例
【发布时间】:2018-12-29 13:58:46
【问题描述】:

我为咖啡类型创建了这些实例,最后我想反序列化它们并按实例显示它们。我创建了一个 foreach 循环,但它给了我很多重复的数据,如果可能的话,我想显示每个实例的数据实例。

还有什么我可以用来展示它们的吗?

public void CoffeeTypes()
    {
        Coffee coffeeType1 = new Coffee()
        {
           CoffeeID = "321",
           CoffeePrice = 1.50,
           TSpoonsSugar = 'N',
           CoffeeAmountRatio = 1,
           MilkAmountRatio = 0,
           Size = 'S'
        };

        Coffee coffeeType2 = new Coffee()
        {
            CoffeeID = "322",
            CoffeePrice = 2.99,
            TSpoonsSugar = 'N',
            CoffeeAmountRatio = 1,
            MilkAmountRatio = 0,
            Size = 'M'
        };

        Coffee coffeeType3 = new Coffee()
        {
            CoffeeID = "323",
            CoffeePrice = 4.50,
            TSpoonsSugar = 'N',
            CoffeeAmountRatio = 1,
            MilkAmountRatio = 0,
            Size = 'L'
        };

        Coffee coffeeType4 = new Coffee()
        {
            CoffeeID = "413",
            CoffeePrice = 1.99,
            TSpoonsSugar = 'Y',
            CoffeeAmountRatio = 1,
            MilkAmountRatio = 0,
            Size = 'S'
        };

        List<Coffee> coffeeData = new List<Coffee>()
        {
            coffeeType1,
            coffeeType2,
            coffeeType3,
            coffeeType4                                                     
        };

        Coffee.SerializeData(coffeeData, filePath);

        List<Coffee> coffeePosibilities = Coffee.DeserializeData<Coffee>(filePath);

        Coffee.coffeeInstance = coffeePosibilities;

        foreach (var coffee in coffeePosibilities)
        {
            Console.WriteLine("Coffee Type 1 :  Coffee ID: " + coffee.CoffeeID);
            Console.WriteLine("Coffee Type 2 :  Coffee ID: " + coffee.CoffeeID);
            Console.WriteLine("Coffee Type 3 :  Coffee ID: " + coffee.CoffeeID);
            Console.WriteLine("Coffee Type 4 :  Coffee ID: " + coffee.CoffeeID);

  }

【问题讨论】:

  • 不确定SerializeDataDeserializeData 方法中发生了什么。所以不能提出任何建议
  • @ChetanRanpariya 我认为这只是为了测试序列化按预期工作并且在反序列化时不会丢失数据
  • SerializeData 工作正常,但我不知道如何显示每个实例及其属性

标签: c# loops serialization output deserialization


【解决方案1】:

将您的 foreach 循环更改为仅输出当前元素的信息

foreach (var coffee in coffeePosibilities)
{
    Console.WriteLine($"Coffee Type :  Coffee ID: {coffee.CoffeeID}");
}

【讨论】:

  • 感谢@Ehssan,这是我想要的输出:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多