我想在c#.net。
中组合使用(string,byte [])我确实想用名称和图像存储多个图像... 比如List,但我不知道如何动态存储和检索要列出的数据!!
存储数据类似......
("Blue hills", byte[]), ("Sunset", byte[]), ("Winter", byte[])
请帮我操作上面的数据..
答案 0 :(得分:3)
您应该创建一个精确包含这些信息的数据结构(例如新类)。例如:
public class Image
{
private readonly byte[] data;
private readonly string name;
public string Name { get { return name; } }
public Image(string name, byte[] data)
{
this.name = name;
this.data = data;
}
public Stream GetDataStream()
{
return new MemoryStream(data, false);
}
}
然后你会使用List<Image>
。请注意,我使用MemoryStream
作为字节数组的有用只读视图。
答案 1 :(得分:2)
你要么
Dictionary<string, byte[]>
如果字符串值是唯一的,或
List<Tuple<string, byte[]>>
如果不是。或者,您也可以编写自己的类来保存string
和byte[]
public class MyClass
{
public string Name { get; set; }
public byte[] Data { get; set; }
}
并创建班级的List
。
List<MyClass>
答案 2 :(得分:0)
您可以简单地使用字典。你的“名字”似乎是一把钥匙:
Dictionary<String, Byte[]> myDictionary = new Dictionary<String, Byte[]>();
如果你想访问某个值,那么你就有了不需要迭代的优势。
答案 3 :(得分:0)
你可以做Jon所说的并创建一个类或使用一个名为KeyPairValue的类而不是创建一个数据结构