>Well, look at what I have found:
>
>
http://msdn.microsoft.com/en-us/library/ff647802.aspx>
>...especially in the Boxing section:
>
>"Excessive boxing often occurs where you use collections that store System.Object types. Consider using an array or a custom-typed collection class instead."
>
>So, the usage of an array seems to be recommanded. This is like the issue with the StringBuilder that I had to change recently with a string to avoid a heap.
>
>Anyone can provide feedback on this and if this makes sense?
Why don't you use a Dictionary< string, Tuple< int, int >> to store the image data ?
You don't need to loop through the collection to find the image. You can retrieve the data with a simple TryGetValue()
class ImageData
{
internal int Width { get; private set;}
internal int Height { get; private set; }
internal ImageData( int width, int height)
{
Width = width;
Height = height;
}
}
static class TestImage
{
internal static void Go()
{
Dictionary<string, ImageData> images = new Dictionary<string,ImageData>();
images.Add("image1", new ImageData(10, 20));
images.Add("image2", new ImageData(30, 40));
string s = "image4";
bool found = false;
ImageData imagedata;
if( images.TryGetValue(s, out imagedata) )
found = true;
}
}
Gregory