如何反序列化并显示这些实例

时间:2018-12-29 13:58:47

标签: c# loops serialization output deserialization

我为咖啡类型创建了这些实例,最后我想反序列化它们并按实例显示它们。我创建了一个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);

  }

1 个答案:

答案 0 :(得分:2)

更改foreach循环以仅输出当前元素的信息

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