Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何反序列化和显示这些实例_C#_Loops_Serialization_Output_Deserialization - Fatal编程技术网

C# 如何反序列化和显示这些实例

C# 如何反序列化和显示这些实例,c#,loops,serialization,output,deserialization,C#,Loops,Serialization,Output,Deserialization,我为咖啡类型创建了这些实例,最后我想对它们进行反序列化,并在每个实例中显示它们。我创建了一个foreach循环,但是它给了我很多重复的数据,如果可能的话,我希望显示每个实例的数据实例 还有什么我可以用来展示它们的吗 public void CoffeeTypes() { Coffee coffeeType1 = new Coffee() { CoffeeID = "321", CoffeePrice = 1.50

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

  }
public void CoffeeTypes()
{
咖啡类型1=新咖啡()
{
CoffeeID=“321”,
咖啡价格=1.50,
TSpoonsSugar='N',
CoffeeAmountRatio=1,
MilkAmountRatio=0,
大小='S'
};
咖啡类型2=新咖啡()
{
CoffeeID=“322”,
咖啡价格=2.99,
TSpoonsSugar='N',
CoffeeAmountRatio=1,
MilkAmountRatio=0,
大小='M'
};
咖啡类型3=新咖啡()
{
CoffeeID=“323”,
咖啡价格=4.50,
TSpoonsSugar='N',
CoffeeAmountRatio=1,
MilkAmountRatio=0,
大小='L'
};
咖啡类型4=新咖啡()
{
CoffeeID=“413”,
咖啡价格=1.99,
TSpoonsSugar='Y',
CoffeeAmountRatio=1,
MilkAmountRatio=0,
大小='S'
};
List coffeeData=新列表()
{
咖啡类型1,
咖啡类型2,
咖啡类型3,
咖啡类型4
};
序列化数据(coffeeData,filePath);
List coffeePosibilities=Coffee.DeserializeData(文件路径);
Coffee.coffeeInstance=咖啡可能性;
foreach(咖啡中的var咖啡可能性)
{
Console.WriteLine(“咖啡类型1:咖啡ID:+Coffee.CoffeeID”);
Console.WriteLine(“咖啡类型2:咖啡ID:+Coffee.CoffeeID”);
Console.WriteLine(“咖啡类型3:咖啡ID:+Coffee.CoffeeID”);
Console.WriteLine(“咖啡类型4:咖啡ID:+Coffee.CoffeeID”);
}

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

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

不确定
序列化数据
反序列化数据
方法中发生了什么。因此无法建议anything@ChetanRanpariya我认为这只是为了测试序列化是否按预期工作,并且在反序列化
SerializeData
工作正常时不会丢失数据,但我不知道如何使用他们的财产感谢@Ehssan这是我想要的输出:)