Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Property | Valeur |
---|---|
Identificateur de la règle | IDE0028 |
Titre | Utiliser des initialiseurs de collections |
Catégorie | Style |
Sous-catégorie | Règles de langage (préférences au niveau des expressions) |
Langages applicables | C# et Visual Basic |
Options | dotnet_style_collection_initializer |
dotnet_style_prefer_collection_expression |
Cette règle de style concerne l'utilisation d'initialiseurs de collection et, si vous utilisez C# 12 ou une version ultérieure, d'expressions de collection pour l'initialisation de collection.
Dans .NET 8 (C# 12) et les versions ultérieures, si vous avez défini l'option dotnet_style_prefer_collection_expression
sur true
, le correctif de code dans Visual Studio convertit votre code d'initialisation de collection pour utiliser une expression de collection (List<int> list = [1, 2, 3];
). Dans Visual Basic et dans .NET 7 (C# 11) et les versions antérieures, le correctif de code convertit votre code pour utiliser un initialiseur de collection (List<int> list = new List<int> { 1, 2, 3 };
).
Note
Si vous utilisez le correctif de code dans Visual Studio, la modification qu'elle propose peut avoir une sémantique différente dans certains cas. Par exemple, int[] x = new int[] { }
est remplacé par int[] x = [];
, qui a une sémantique légèrement différente : le compilateur utilise un singleton pour x
au lieu de créer une nouvelle instance.
Définissez les valeurs des options associées à cette règle pour spécifier si les initialiseurs de collection et les expressions de collection sont préférés lors de l'initialisation des collections.
Pour plus d’informations sur la configuration des options, consultez Format d’option.
Property | Valeur | Description |
---|---|---|
Nom de l’option | dotnet_style_collection_initializer | |
Valeurs d’option | true |
Préférez utiliser les initialiseurs de collection. |
false |
Ne pas préférer les initialiseurs de collectio | |
Valeur d’option par défaut | true |
Property | Valeur | Description |
---|---|---|
Nom de l’option | dotnet_style_prefer_collection_expression | |
Valeurs d’option | true |
Préférez utiliser des expressions de collection. |
false |
Ne pas préférer les expressions de collection. | |
Valeur d’option par défaut | true |
// IDE0028 violation.
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
// Fixed code (with dotnet_style_prefer_collection_expression = true)
List<int> list = [1, 2, 3];
' IDE0028 violation.
Dim list = New List(Of Integer)
list.Add(1)
list.Add(2)
list.Add(3)
' Fixed code.
Dim list = New List(Of Integer) From {1, 2, 3}
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable IDE0028
// The code that's violating the rule is on this line.
#pragma warning restore IDE0028
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.IDE0028.severity = none
Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style
sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires:
Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenant