示例#1
0
    public static async Task Main1(Factory factory)
    {
        var t = TimeSpan.Parse("10.00:00:00");

        Console.WriteLine(t.TotalHours);
        using (var rentBuffer = factory?.GetRentBuffer())
        {
            string format = rentBuffer?.GetString() ?? "No String";
            Console.WriteLine(format);
        }
        if (true)
        {
            return;
        }

        if (true)
        {
            return;
        }

        ArrayPool <byte> bytePool = ArrayPool <byte> .Create(10000, 2);

        bytePool.Rent(10000);
        bytePool.Rent(10000);
        bytePool.Rent(10000);
        Console.WriteLine("Done");


        if (true)
        {
            return;
        }

        SubTag  subTag            = new SubTag();
        BaseTag subByBaseTag      = subTag;
        ITag    subByInterfaceTag = subTag;

        subTag.WriteTag();
        subByBaseTag.WriteTag();
        subByInterfaceTag.WriteTag();

        if (true)
        {
            return;
        }


        Console.WriteLine("Executing ");
        var firstArray = new byte[10];
        var tempArray  = new byte[10];

        for (int i = 0; i < firstArray.Length; i++)
        {
            firstArray[i] = 1;
        }

        var secondArray = new byte[3];

        for (int i = 0; i < secondArray.Length; i++)
        {
            secondArray[i] = 2;
        }

        var thirdArray = new byte[255];

        for (int i = 0; i < thirdArray.Length; i++)
        {
            thirdArray[i] = (byte)i;
        }

        var memoryStream = new MemoryStream(firstArray);
        //var memoryStream1 = new MemoryStream(secondArray);
        var memoryStream1 = new MemoryStream();
        var writer        = new StreamWriter(memoryStream1);

        writer.Write("Hey!");
        writer.Flush();
        memoryStream1.Position = 0;
        //var memoryStream2 = new MemoryStream(thirdArray);
        var memoryStream2 = new MemoryStream();
        var writer1       = new StreamWriter(memoryStream2);

        writer1.Write("alksdhjf ladiauhsd ajsdg SDf sdf @$#% RWSG$ d ad7ftawo8ef");
        writer1.Flush();
        memoryStream2.Position = 0;

        for (int i = 0; i < firstArray.Length; i++)
        {
            Console.Write(firstArray[i] + ",");
        }
        Console.WriteLine("");

        Array.Copy(firstArray, tempArray, firstArray.Length);
        Array.Clear(firstArray, 0, firstArray.Length);
        int currentBytesRead = 0;
        int bytesToRead      = firstArray.Length;

        do
        {
            currentBytesRead = await memoryStream1?.ReadAsync(firstArray, 0, firstArray.Length);

            bytesToRead -= currentBytesRead;
        } while (bytesToRead > 0 && currentBytesRead != 0);

        Console.Write(Encoding.UTF8.GetString(firstArray));
        Console.WriteLine("");


        currentBytesRead = 0;
        bytesToRead      = firstArray.Length;
        do
        {
            Array.Copy(firstArray, tempArray, firstArray.Length);
            Array.Clear(firstArray, 0, firstArray.Length);
            do
            {
                currentBytesRead = await memoryStream2?.ReadAsync(firstArray, 0, firstArray.Length);

                bytesToRead -= currentBytesRead;
            } while (bytesToRead > 0 && currentBytesRead != 0);

            if (currentBytesRead > 0)
            {
                Console.Write(Encoding.UTF8.GetString(firstArray));
            }
            else
            {
                Console.Write(Encoding.UTF8.GetString(tempArray));
                Console.Write(tempArray.Length);
            }

            Console.WriteLine("");
        } while (currentBytesRead > 0);

        Array.Clear(firstArray, 0, firstArray.Length);

        var sdf = await memoryStream2?.ReadAsync(firstArray, 0, firstArray.Length);

        /*
         *
         * Array.Copy(secondArray, firstArray, secondArray.Length);
         * memoryStream.Read(buffer, 0, buffer.Length);
         * await memoryStream2.CopyToAsync(memoryStream, firstArray.Length);
         *
         * for (int i = 0; i < firstArray.Length; i++)
         * {
         *  Console.Write(firstArray[i] + ",");
         * }
         *
         */

        Console.ReadKey();
    }