Prólogo
En general, habrá advertencias que no se usan en C ++. También hay en C#. En Qt, usamos Q_Unset para eliminar directamente estas advertencias. Entonces, ¿qué debemos hacer en C#para eliminar estas advertencias innecesarias? Después de consultar el sitio web oficial de Microsoft descubrió que algunos encontraron una solución, y algunos todavía no podían hacerlo. No había forma de eliminar las advertencias en Internet, por lo que solo pude reflexionar lentamente. Dijo que encontré estas advertencias para eliminar estas advertencias, el método de los “hogares de uñas” se comparte aquí, dando a quienes odian estas advertencias mientras odio ver estas advertencias.
1. Eliminar la descripción anulable en el archivo de configuración del proyecto
2. Agregue el juicio de la condición isnull a la variable
void GetMessageLength(string? message) { if (message is not null) { Console.WriteLine(message.Length); } }
public void GetMessage(string? message) { if (IsNotNull(message)) Console.WriteLine(message.Length); }
private static bool IsNotNull([NotNullWhen(true)] object? obj) => obj != null;
3. Para la configuración de variables o atributos, puede ser nulo
private string _name = null!; public DbSet<TodoItem> TodoItems { get; set; } = null!;
4. ¿Aumentar el tipo de parámetro?
se agrega una anotación, para que las variables se conviertan en tipos de referencia que pueden ser nulos
void IList.Insert(int index, object ?value) { if (value != null) this.Insert(index, (Animal)value); }
object? IList.this[int index] { get { return _list[index]!; } set { _list[index] = (Animal?)value;//(Animal)value; } }
5. ¡Aumente después de los parámetros!
¡Pon el operador de tolerancia nula! Agregue a la derecha:
string msg = TryGetMessage(42)!; return msg!; Console.WriteLine(msg!.Length);
6. Use vacío
public class Person { public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; }
7. Use NotNullWhen al parámetro con el NULL explícito
public bool TryGetMessage(int id, [NotNullWhen(true)] out string? message) { message = null; return true; }
8. Set Setter Advertencia
Aun así, descubrimos que la advertencia de algunas configuraciones del conjunto aún no se puede eliminar. En este momento, podemos agregar “!” Al tipo de retorno, como se muestra a continuación:
Todavía existe esta situación, parece que se advierte la función constructiva y el problema de atributo real
public class Person { public string? FirstName { get; set; } public string? LastName { get; set; } }
Las instrucciones oficiales a las que podemos referirnos:Haga clic aquí
Resumen
Este artículo sobre cómo eliminar las advertencias en C#se introduce aquí. Para advertencias de C#más relacionadas para eliminar por completo el contenido, busque los artículos anteriores del guión o continúe navegando por los siguientes artículos relacionados. Espero que todos lo harán. Ten más en el futuro en el futuro. ¡Apoye el script en casa!