美文网首页
byte[] --初始化、赋值

byte[] --初始化、赋值

作者: 日常采坑君 | 来源:发表于2018-11-28 18:34 被阅读0次

    首先,介绍byte[]初始化

    1. 利用for循环赋值是比较基本的方法
    2. C#中,创建一个长度为size的byte数组,并且其中每个字节赋值为0
    byte[] myByteArray = new byte[size];
    

    C# 在创建数值型(int, byte)数组时,会自动的把数组中的每个元素赋值为0. (注:如果是string[], 则每个元素为的值为null.

    1. 创建一个长度为10的byte数组,并且其中每个byte的值为0x08.
    byte[] myByteArray = Enumerable.Repeat((byte)0x08, 10).ToArray();
    

    linq来赋值,语句只要一条, 当然我们还可以赋值不同的,但是有一定规律的值。

    byte[] res= Enumerable.Range(1, 1000).Select(c=>Convert.ToByte(c)).ToArray();
    

    1. 对于2中,虽然C#自动赋值,但是在输出时,按照Encoding.ASCII.GetString(myByteArray )输出,则显示不出000000字符串。例如:
      源码(注释掉赋值操作):
    byte[] bytes = new byte[10];
    //for (int i = 0; i < 10; i++)
    //{
    //    bytes[i] = 0x30;
    //}
    string str = BitConverter.ToString(bytes);
    string str1 = Encoding.ASCII.GetString(bytes);
    Console.WriteLine("BitConverter.ToString  +  Encoding.ASCII.GetString" + str + "\\   " + str1);
    Console.ReadKey();
    

    结果如下:打印不出


    image.png

    当去掉注释,结果如下:


    image.png

    很迷,之后解答!!!

    相关文章

      网友评论

          本文标题:byte[] --初始化、赋值

          本文链接:https://www.haomeiwen.com/subject/lmpzqqtx.html