我有一个带有datagridview的窗体,我正在将特定列值读入列表。我需要在单个内存映射文件中共享列表的所有值,但下面是我关心的问题: 1.以字节为单位查找列表的大小。 2.需要分享列表中的所有项目。
这是我的示例代码,其中我共享单个变量值:
string MyName = "Seema";
int totalBytes = MyName.Length * sizeof(Char) + 4;
public List<string> myList = new List<string>();
MemoryMappedFile MyText = MemoryMappedFile.CreateOrOpen("MyGlobalData", howManyBytes);
byte[] array1 = new byte[howManyBytes];
array1 = GetBytes(Name);
using (var accessor = MyText.CreateViewAccessor(0, array1.Length))
{
accessor.WriteArray(0, array1, 0, array1.Length);
}
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
假设mylsit有项目1. Apple 2. Mango 3. Pineapple
请指导我如何继续上述代码
答案 0 :(得分:0)
您需要使用锁定(互斥锁),并希望将数组大小存储为mmf中的第一个元素。