C#中的那些警告该如何去除(完全去除C#警告)_第1页
C#中的那些警告该如何去除(完全去除C#警告)_第2页
C#中的那些警告该如何去除(完全去除C#警告)_第3页
C#中的那些警告该如何去除(完全去除C#警告)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第C#中的那些警告该如何去除(完全去除C#警告)目录前言1、在项目配置文件中去掉Nullable描述2、给变量增加isnull条件判断3、给变量或属性设置可为null4、在参数类型后增加?5、在参数后增加!6、使用empty7、给参数使用NotNullWhen时配合显式null8、set设置器警告总结

前言

一般在c++中没有使用的变量会有警告,C#中也有,在QT中我们利用Q_UNSED可以直接消除这些警告,那么我们在C#中该如何做才能消除这些不必要的警告呢?经过查询微软官方网站发现,有的找到了解决方法,有的仍然一筹莫展,,网络上没有任何关于消除警告的方法,于是只能自己慢慢琢磨,经过一番努力,可以说找到了消除这些警告钉子户的方法,这里分享出来,给那些和我一样讨厌看到这些警告的朋友们。

1、在项目配置文件中去掉Nullable描述

2、给变量增加isnull条件判断

voidGetMessageLength(stringmessage)

if(messageisnotnull)

Console.WriteLine(message.Length);

publicvoidGetMessage(stringmessage)

if(IsNotNull(message))

Console.WriteLine(message.Length);

privatestaticboolIsNotNull([NotNullWhen(true)]objectobj)=obj!=null;

3、给变量或属性设置可为null

privatestring_name=null!;

publicDbSetTodoItemTodoItems{get;set;}=null!;

4、在参数类型后增加?

一种是添加注释,使变量成为可以为null的引用类型

voidIList.Insert(intindex,objectvalue)

if(value!=null)

this.Insert(index,(Animal)value);

objectIList.this[intindex]

return_list[index]!;

_list[index]=(Animal)value;//(Animal)value;

5、在参数后增加!

将null包容性运算符!添加到右侧:

stringmsg=TryGetMessage(42)!;

returnmsg!;

Console.WriteLine(msg!.Length);

6、使用empty

publicclassPerson

publicstringFirstName{get;set;}=string.Empty;

publicstringLastName{get;set;}=string.Empty;

7、给参数使用NotNullWhen时配合显式null

publicboolTryGetMessage(intid,[NotNullWhen(true)]outstringmessage)

message=null;

returntrue;

8、set设置器警告

就算这样,我们发现,有的set的设置器的警告还是没有办法去掉,这个时候我们可以在返回类型上加上!即可,如下图:

还有这种情况,看起来是构造函数被警告了,实际为属性的问题

publicclassPerson

publicstringFirstNam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论