当前位置: 首页 > news >正文

编辑器报警处理

1、warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。

原代码

string returnedString = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned);

处理后的代码

string returnedString = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned)!;

简单分析:

IntPtr为不可空类型,方法可输入可空类型,导致编译器检查异常,改为允许可空类型

2、 warning CS8602: 解引用可能出现空引用。

原代码

string local = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned).ToString();

处理后的代码

string local = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned)!.ToString();

3、 warning CS8625: 无法将 null 字面量转换为非 null 的引用类型。

源代码

uint bytesReturned = GetPrivateProfileString(section, null, null, chars, SIZE, iniFile);

处理后的代码

uint bytesReturned = GetPrivateProfileString(section, null!, null!, chars, SIZE, iniFile);

简单分析

 C#8 起引用类型默认不可为空,除非使用“?”显示地声明这是可空引用类型

http://www.lryc.cn/news/220411.html

相关文章:

  • Python库学习(十二):数据分析Pandas[下篇]
  • 工具: MarkDown学习
  • JS逆向爬虫---请求参数加密②【某麦数据analysis参数加密】
  • 基于APM(PIX)飞控和missionplanner制作遥控无人车-从零搭建自主pix无人车无人坦克
  • Vue3的手脚架使用和组件父子间通信-插槽(Options API)学习笔记
  • 第九章软件管理
  • Web渗透编程语言基础
  • Vue-router 路由的基本使用
  • 如何在CPU上进行高效大语言模型推理
  • 简简单单入门Makefile
  • New Maven Project
  • IDEA中如何移除未使用的import
  • 第18章_MySQL8新特性之CTE(公用表表达式)
  • MySQL的备份恢复
  • 【JavaEE】JVM 剖析
  • 算法题:203. 移除链表元素(递归法、设置虚拟头节点法等3种方法)Java实现创建链表与解析链表
  • ubuntu18.04 多版本opencv配置记录
  • Spring Security—OAuth 2.0 资源服务器的多租户
  • VB.NET—窗体引起的乌龙事件
  • 批量新增报错PSQLException: PreparedStatement can have at most 65,535 parameters.
  • 数仓分层能减少重复计算,为啥能减少?如何减少?这篇文章包懂!
  • 【Linux】基础IO之文件操作(文件fd)——针对被打开的文件
  • 什么是超算数据中心
  • 阿里云服务器省钱购买和使用方法(图文详解)
  • Apache Flink 1.12.0 on Yarn(3.1.1) 所遇到的問題
  • pandas - 数据分组统计
  • Git简介和安装
  • 思维模型 布里丹毛驴效应
  • 预处理、编译、汇编、链接
  • 面试问题?