C#将 List 转为 byte[]
时间:2022-07-23
本文章向大家介绍C#将 List 转为 byte[],主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace list
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//将List<double> 转为 byte[]
static byte[] ConvertDoubleArrayToBytes(List<double> matrix)
{
if (matrix == null)
{
return new byte[0];
}
using (MemoryStream stream = new MemoryStream())
{
BinaryWriter bw = new BinaryWriter(stream);
foreach (var item in matrix)
{
bw.Write(item);
}
return stream.ToArray();
}
}
//将byte[] 转为 List<double>
static List<double> ConvertBytesToDoubleArray(byte[] matrix)
{
if (matrix == null)
return null;
List<double> result = new List<double>();
using (var br = new BinaryReader(new MemoryStream(matrix)))
{
var ptCount = matrix.Length / 8;
for (int i = 0; i < ptCount; i++)
{
result.Add(br.ReadDouble());
}
return result;
}
}
private void Form1_Load(object sender, EventArgs e)
{
List<double> data = new List<double> { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 };
byte[] bdata = ConvertDoubleArrayToBytes(data);
data = ConvertBytesToDoubleArray(bdata);
foreach (var item in data)
{
listBox1.Items.Add(item);
}
}
}
}
运行结果:
List<T>是泛型集合 这种集合规定了集合内的数据类型,只能存放<T>的T类型数据; 而ArrayList不是泛型,这种集合中可以存放任意类型数据; 举个简单例子:List<Student> students=new List<Student>(); 那么读取数据时就不用类型转化了,即:Student stu=students[0]; 增、删、改、查的方法:students.Add(T t);//增 students.Remove(int index);//删 stucents.Remove(T t);//删 students[]=//修改的数据 //查或者改 遍历集合类似于遍历数组 ArrayList students=new ArrayList(); Student stu=students[0] as Student;
- 如果你想深刻理解ASP.NET Core请求处理管道,可以试着写一个自定义的Server
- 路面能发电,智慧交通不遥远
- 小程序:企鹅帝国身后,微信帝国正悄悄露出冰山一角!
- ASP.NET MVC路由扩展:路由映射
- 如何改善遗留的代码库
- ASP.NET的路由系统:根据路由规则生成URL
- ASP.NET Core 1.0中实现文件上传的两种方式(提交表单和采用AJAX)
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(1)
- 工业X.0将至 企业数字化转型该怎么做?
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(2)
- 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(3)
- 为什么说2018年互联网创业机会将变少
- ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
- ASP.NET Core的配置(1):读取配置信息
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- iPhone可以运行Android了
- 基于栈的内存分配 —— alloca
- 第七章 字符串
- lldb-入坑指北(1)-给xcode添加批量启用禁用断点功能
- 第八章 指针
- Django入门笔记——第二章、Django安装
- lldb 入坑指北(2)- 15行代码搞定二进制与源码映射
- lldb入坑指北(4)-打印任意函数的汇编代码
- ElasticSearch索引 VS MySQL索引
- Python随机打乱列表中的元素
- Python面试题汇总
- lldb 入坑指北(3) - 打印 c++ 实例的虚函数表
- 一文让你彻底搞懂`__str__`和`__repr__`?
- lldb 入坑指北(1) - 给Xcode批量添加启用&禁用断点功能
- Xcode 中的 Workspace、Project、Target 和 Scheme