![c#list类型转换为byte[]类型 或者c#前台中jq如何给byte[]类型字段赋值,第1张 c#list类型转换为byte[]类型 或者c#前台中jq如何给byte[]类型字段赋值,第1张](/aiimages/c%23list%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E4%B8%BAbyte%5B%5D%E7%B1%BB%E5%9E%8B+%E6%88%96%E8%80%85c%23%E5%89%8D%E5%8F%B0%E4%B8%ADjq%E5%A6%82%E4%BD%95%E7%BB%99byte%5B%5D%E7%B1%BB%E5%9E%8B%E5%AD%97%E6%AE%B5%E8%B5%8B%E5%80%BC.png)
介绍一种比较简单的方法(先转换成string,然后再准换成byte[])
//需要添加引用System.Web.Extensions.dllusing System.Web.Script.Serialization
List<string> list = new List<string> { "a", "b", "c" }
//这个类,需要引用命名空间
JavaScriptSerializer js = new JavaScriptSerializer()
string data = js.Serialize(list)
byte[] bytes = Encoding.UTF8.GetBytes(data)
jq为byte[]字段赋值,也可以这样做。
你先把jq的值,保存在一个隐藏域中,然后再后台读取这个隐藏域的值,然后用
Encoding.UTF8.GetBytes(data)
这个实质是内存内容复制的问题,最简单的方法是调用系统的memcpy函数。
函数原型如下:
void *memcpy(void *dest, const void *src, size_t n)
2.功能
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
3.所需头文件
C语言:#include<string.h>
C++:#include<cstring.h>
4.返回值
函数返回指向dest的指针。
比如结构体Struct pNode{BYTE* p;
public:
pNode{
p = NULL;
}
~pNode{
if(!p){
delete p;
p = NULL;
}
}
}
添加的话
{
pNode* pTemNode = new pNode
Mylist.AddTail(pTemNode)
}
如果让添加的结构体中的指针要指向数据,直接开辟一片内存,让他指向就okay了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)