byte[] 之初始化赋值

用for loop 赋值当然是最基本的方法,不过在C#里面还有其他的便捷方法。

1. 创建一个长度为10的byte数组,并且其中每个byte的值为0.

byte[] myByteArray = new byte[10];

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

2. 创建一个长度为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();

3. 直接赋值

byte[] myByteArray = new byte[] { 0x01, 0x02, 0x03 };

byte[] ---> ushort

            byte[] array = new byte[] { 0xFE, 0x00 };ushort register = BitConverter.ToUInt16(array, 0);

上述转换后register 的值为 0x00FE

            byte[] array = new byte[] { 0x02, 0x01 ,0x04, 0x03 };ushort register = BitConverter.ToUInt16(array, 0);

上述转化后,其实只是取了array[0], array[1].的值,最后register 的值是 0x00010002, 即258

byte[] -> string

public static string ByteArrayToString(byte[] ba)
{string hex = BitConverter.ToString(ba);return hex.Replace("-","");
}

ushort ---> byte[]

            ushort register = 0x00F0;byte[] arr = BitConverter.GetBytes(register); 

在PC系统里, arr[0] = 0xF0(地位), arr[1] = 0x00 .

互换ushort中的两个字节

            ushort number = 0x00F0;byte[] temp = BitConverter.GetBytes(number);Array.Reverse(temp); ushort a = BitConverter.ToUInt16(temp, 0);ushort b = (ushort)(number << 8 | ((number & 0xFF00) >> 8));

引自: http://www.cnblogs.com/fdyang/archive/2013/10/20/3378974.html

转载于:https://www.cnblogs.com/icycore/p/3740986.html

(C#基础) byte[] 之初始化, 赋值,转换。相关推荐

  1. java byte数组 初始化_Java根据byte数组,生成文件

    根据byte数组,生成文件 自己写的小案例,找个地方记录一下 package com.seesun2012.utils; import java.io.BufferedOutputStream; im ...

  2. 类型转换:隐式转化(算数转换,整型提升,混合提升,赋值转换),强制转换【C语言】

    类型转换 隐式转化 算数转换 整型提升 混合提升 赋值转换 强制转换 编译器使用注意 小结 类型转换 隐式转化 不需要人为参与而产生的默认转称为隐式转化. 隐式转化,是计算机语言实现层面最难的,指针是 ...

  3. c语言字符指针初始化赋值,C语言_指针变量的赋值与运算,很详细详解

    指针变量的赋值 指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值.未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机.指针变量的赋值只能赋予地址, 决不能赋予任何其它数据 ...

  4. 【Java图文趣味版】快速搞定数组的声明、开辟空间和初始化赋值

    0 前言 本文讲解java数组的基础知识,适合零基础小白. 1 数组的概念 所谓数组,就是一组同类型东西的集合,可以通过index(索引,下标)访问这一组东西的某一个元素. 就像下图这样,由于数组概念 ...

  5. java byte转int 互相转换原理详解

    转自:https://blog.csdn.net/wojiuai2093/article/details/50779879 int i = 0;   i += ((b[0] & 0xff) & ...

  6. java实现初始化三角形数组_Java基础之数组初始化和数组JVM分析

    什么是数组 所谓数组,是具有相同数据类型的若干变量或者数据按照一定排序规则组合起来的一种数据存储格式.数组中的数据称为数组元素,我们使用索引来标识数组元素在数组中的存储位置,索引从0开始,步长是1,其 ...

  7. android byte[]与图片的转换

    今天,简单讲讲android如何将byte数组的数据转换成图片显示. 之前,在做一个功能时,从服务器获得了图片的byte数组的数据,需要将数据转成图片显示在手机上,或者保存在文件里.当时居然不知道怎么 ...

  8. 8-2:C++继承之父类和子类对象赋值转换(公有继承)也即切片

    父类和子类对象赋值转换(公有继承) - - - 父类和子类对象赋值转换是指:子类对象可以赋值给父类对象(父类的指针或引用也可以),而父类对象不能赋值给子类对象.也就Student一定是Person,但 ...

  9. java编程int和byte的用法_Java中的Byte Array和Int转换

    Java中的Byte Array和Int转换 我有这两个函数有一些困难: byteArrayToInt和intToByteArray . 问题是,如果我使用另一个来得到另一个结果,结果是不同的,你可以 ...

最新文章

  1. How to Rate a Software Developer
  2. 【 C 】字符串查找基础笔记
  3. Linux 下关于网络的几个命令
  4. 九、PyQt5 QLineEdit输入的子网字符串校验QRegExp
  5. 关于Xcode7中添加不了libresolv.dylib等类似库的问题
  6. 群发邮箱的软件哪个好?2021协议邮件群发软件推荐?
  7. Luogu P1540 机器翻译
  8. Word文档保护怎么取消
  9. 微信小程序+PHP 从零写一个微信小程序
  10. 最好云计算机,教你怎么挑选最合适自己的云电脑
  11. 29 架构师领导艺术
  12. 进阶版Shell脚本合集
  13. 国内外dspace著名案例
  14. 【数据库】MySQL的sql语句详解
  15. 单片机设计中的软件测试,基于单片机设计的小电阻测试 - 控制/MCU - 电子发烧友网...
  16. 17款漂亮的 HTML5 网站模板免费下载
  17. 黑苹果换OC引导开机详细教程,适用小新Pro13
  18. 说好不哭,现在就带你了解直播类音视频测试
  19. C++标准库和标准模板库(转)
  20. MySql查询语句方法

热门文章

  1. CS229学习笔记(3)逻辑回归(Logistic Regression)
  2. spring基础知识总结
  3. order调用mdp
  4. centos6.5 nginx开机启动
  5. 乾颐堂军哥HCIE9-解决BGP路由黑洞、聚合的各种参数以及RR基础
  6. CentOS7 安装管理KVM虚拟机
  7. 程序员面试金典——18.7最长合成字符串
  8. 再看结构体对齐与小端联合问题
  9. 微程序相关的两个知识点
  10. onenote 不能同步的原因及解决方法(教训总结)