Gertaera
Aplikazio adimendunak sortzen ditu
Mar 17, 9 PM - Mar 21, 10 AM
Bat egin IAren soluzio eskalagarrien soluzioak sortzeko topaketa sortarekin, mundu errealaren erabilera-kasuetan oinarrituak, beste garatzaile eta aditu batzuekin.
Eman izenaArakatzailea ez da onartzen jada.
Bertsio-berritu Microsoft Edge-ra etekin handiena ateratzeko eginbide berrienei, segurtasun-eguneratzeei eta laguntza-teknikoari.
En este artículo se describen tres reglas relacionadas, IDE0029
, IDE0030
y IDE0270
.
Propiedad | Valor |
---|---|
Identificador de la regla | IDE0029 |
Título | La comprobación nula se puede simplificar (comprobación condicional ternaria) |
Categoría | Estilo |
Subcategoría | Reglas de lenguaje (preferencias de nivel de expresión) |
idiomas aplicables | C# y Visual Basic |
Opciones | dotnet_style_coalesce_expression |
Propiedad | Valor |
---|---|
Identificador de la regla | IDE0030 |
Título | La comprobación de valores null se puede simplificar (comprobación condicional ternaria que acepta valores null) |
Categoría | Estilo |
subcategoría | Reglas de lenguaje (preferencias de nivel de expresión) |
idiomas aplicables | C# y Visual Basic |
Opciones | dotnet_style_coalesce_expression |
Propiedad | Valor |
---|---|
Identificador de la regla | IDE0270 |
Título | La comprobación de valores null se puede simplificar (si la comprobación es nula) |
Categoría | Estilo |
Subcategoría | Reglas de lenguaje (preferencias de nivel de expresión) |
idiomas aplicables | C# y Visual Basic |
Opciones | dotnet_style_coalesce_expression |
Las reglas IDE0029 y IDE0030 se refieren al uso de expresiones de fusión null, por ejemplo, x ?? y
, frente a expresiones condicionales ternarias con comprobaciones null
, por ejemplo, x != null ? x : y
. Las reglas difieren con respecto a la nulabilidad de las expresiones:
IDE0029
: se usa cuando hay expresiones que no aceptan valores NULL. Por ejemplo, esta regla podría recomendar x ?? y
en lugar de x != null ? x : y
cuando x
y y
son tipos de referencia que no aceptan valores NULL.IDE0030
: se usa cuando intervienen expresiones que aceptan valores NULL. Por ejemplo, esta regla podría recomendar x ?? y
en lugar de x != null ? x : y
cuando x
y y
son tipos de valor nulos o tipos de referencia nulos .La regla IDE0270 marca el uso de una comprobación de valores null (== null
o is null
) en lugar del operador de fusión de NULL (??
).
Las opciones especifican el comportamiento que desea que aplique la regla. Para obtener información sobre cómo configurar opciones, vea Formato de opción.
Propiedad | Valor | Descripción |
---|---|---|
nombre de opción | dotnet_style_coalesce_expression | |
Valores de opción | true |
Se prefieren expresiones de fusión de null. |
false |
Deshabilita la regla. | |
valor de opción predeterminado | true |
// Code with violation.
var v = x != null ? x : y; // or
var v = x == null ? y : x;
// Fixed code.
var v = x ?? y;
' Code with violation.
Dim v = If(x Is Nothing, y, x) ' or
Dim v = If(x IsNot Nothing, x, y)
' Fixed code.
Dim v = If(x, y)
// Code with violation.
class C
{
void M()
{
var item = FindItem() as C;
if (item == null)
throw new System.InvalidOperationException();
}
object? FindItem() => null;
}
// Fixed code (dotnet_style_coalesce_expression = true).
class C
{
void M()
{
var item = FindItem() as C ?? throw new System.InvalidOperationException();
}
object? FindItem() => null;
}
' Code with violation.
Public Class C
Sub M()
Dim item = TryCast(FindItem(), C)
If item Is Nothing Then
item = New C()
End If
End Sub
Function FindItem() As Object
Return Nothing
End Function
End Class
' Fixed code (dotnet_style_coalesce_expression = true).
Public Class C
Sub M()
Dim item = If(TryCast(FindItem(), C), New C())
End Sub
Function FindItem() As Object
Return Nothing
End Function
End Class
Si desea suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.
#pragma warning disable IDE0029 // Or IDE0030 or IDE0270
// The code that's violating the rule is on this line.
#pragma warning restore IDE0029 // Or IDE0030 or IDE0270
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none
en el archivo de configuración de .
[*.{cs,vb}]
dotnet_diagnostic.IDE0029.severity = none
dotnet_diagnostic.IDE0030.severity = none
dotnet_diagnostic.IDE0270.severity = none
Para deshabilitar todas las reglas de estilo de código, establezca la gravedad de la categoría Style
a none
en el archivo de configuración .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obtener más información, vea Cómo suprimir advertencias de análisis de código.
.NET oharrak
.NET iturburu irekiko proiektu bat da. Hautatu esteka bat oharrak bidaltzeko:
Gertaera
Aplikazio adimendunak sortzen ditu
Mar 17, 9 PM - Mar 21, 10 AM
Bat egin IAren soluzio eskalagarrien soluzioak sortzeko topaketa sortarekin, mundu errealaren erabilera-kasuetan oinarrituak, beste garatzaile eta aditu batzuekin.
Eman izena