# V3058. An item with the same key has already been added.

The analyzer detected an issue that has to do with adding values to a dictionary for a key already present in this dictionary. It will cause raising an ArgumentException at runtime with the message: "An item with the same key has already been added".

Consider the following example:

    var mimeTypes = new Dictionary<string, string>();
    mimeTypes.Add(".aif", "audio/aiff");
    mimeTypes.Add(".aif", "audio/x-aiff"); // ArgumentException

In this code, an ArgumentException will be raised when attempting to add a value for the ".aif" key for the second time.

To make this code correct, we must avoid duplicates of keys when filling the dictionary:

    var mimeTypes = new Dictionary<string, string>();
    mimeTypes.Add(".aif", "audio/aiff");

This diagnostic is classified as:

CWE-462