我想在 c#.net 中使用 (string, byte[]) 的组合制作列表。
我确实想存储多个带有名称和图像的图像...例如,列表,但我不知道如何动态存储和检索要列出的数据!
存储数据之类的东西..
("Blue hills", byte[]), ("Sunset", byte[]), ("Winter", byte[])
请帮我操作类似上面的数据..
您应该使用这些信息创建一个数据结构(例如一个新类)。例如:
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>
. 请注意,我使用 aMemoryStream
作为字节数组的有用只读视图。
你要么想要
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>
您可以简单地使用字典。您的“姓名”似乎是关键:
Dictionary<String, Byte[]> myDictionary = new Dictionary<String, Byte[]>();
如果你想访问某个值,那么你就有了不需要迭代的优势。
您可以按照 Jon 所说的创建一个类或使用一个名为 KeyPairValue 的类,而不是创建一个数据结构