当前位置: 首页>>代码示例>>C#>>正文


C# BinaryFormatter.GetType方法代码示例

本文整理汇总了C#中BinaryFormatter.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# BinaryFormatter.GetType方法的具体用法?C# BinaryFormatter.GetType怎么用?C# BinaryFormatter.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BinaryFormatter的用法示例。


在下文中一共展示了BinaryFormatter.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

    static void Main()
    {
        var orig = new Game
        {
            Finished = true,
            GameGUID = Guid.NewGuid(),
            GameID = 12345,
            GameSetup = false,
            MaximumCardsInDeck = 20,
            Player = new Player { Name = "Fred" },
            Player1 = new Player { Name = "Barney" },
            Player1Connected = true,
            Player1EnvironmentSetup = true,
            Player1ID = 12345,
            Player1Won = 3,
            Player2Connected = true,
            Player2EnvironmentSetup = true,
            Player2ID = 23456,
            Player2Won = 0,
            Round = 4,
            RoundsToWin = 5,
            Started = true,
            StateXML = "not really xml",
            TimeEnded = null,
            TimeLimitPerTurn = 500,
            TimeStamp = new byte[] { 1, 2, 3, 4, 5, 6 },
            TimeStarted = DateTime.Today
        };
        const int LOOP = 50000;

        GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
        GC.WaitForPendingFinalizers();
        using (var ms = new MemoryStream())
        {
            var ser = new BinaryFormatter();
            Console.WriteLine();
            Console.WriteLine(ser.GetType().Name);
            ser.Serialize(ms, orig);
            Console.WriteLine("Length: " + ms.Length);
            ms.Position = 0;
            ser.Deserialize(ms);

            var watch = Stopwatch.StartNew();
            for (int i = 0; i < LOOP; i++)
            {
                ms.Position = 0;
                ms.SetLength(0);
                ser.Serialize(ms, orig);
            }
            watch.Stop();
            Console.WriteLine("Serialize: " + watch.ElapsedMilliseconds);
            watch = Stopwatch.StartNew();
            for (int i = 0; i < LOOP; i++)
            {
                ms.Position = 0;
                ser.Deserialize(ms);
            }
            watch.Stop();
            Console.WriteLine("Deserialize: " + watch.ElapsedMilliseconds);
        }

        GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
        GC.WaitForPendingFinalizers();
        using (var ms = new MemoryStream())
        {
            var ser = new XmlSerializer(typeof(Game));
            Console.WriteLine();
            Console.WriteLine(ser.GetType().Name);
            ser.Serialize(ms, orig);
            Console.WriteLine("Length: " + ms.Length);
            ms.Position = 0;
            ser.Deserialize(ms);

            var watch = Stopwatch.StartNew();
            for (int i = 0; i < LOOP; i++)
            {
                ms.Position = 0;
                ms.SetLength(0);
                ser.Serialize(ms, orig);
            }
            watch.Stop();
            Console.WriteLine("Serialize: " + watch.ElapsedMilliseconds);
            watch = Stopwatch.StartNew();
            for (int i = 0; i < LOOP; i++)
            {
                ms.Position = 0;
                ser.Deserialize(ms);
            }
            watch.Stop();
            Console.WriteLine("Deserialize: " + watch.ElapsedMilliseconds);
        }

        GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
        GC.WaitForPendingFinalizers();
        using (var ms = new MemoryStream())
        {
            var ser = new DataContractSerializer(typeof(Game));
            Console.WriteLine();
            Console.WriteLine(ser.GetType().Name);
            ser.WriteObject(ms, orig);
//.........这里部分代码省略.........
开发者ID:holisticware-admin,项目名称:MonoVersalSharpSerializer,代码行数:101,代码来源:Program.cs


注:本文中的BinaryFormatter.GetType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。