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");

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-462.


Bugs Found

Checked Projects
364
Collected Errors
13 504