较新版本Visual Studio中的C#编译错误[英] C# Compiling error in newer version Visual Studio

本文是小编为大家收集整理的关于较新版本Visual Studio中的C#编译错误的处理方法,想解了较新版本Visual Studio中的C#编译错误的问题怎么解决?较新版本Visual Studio中的C#编译错误问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

你好,

我正在编译一个最初在 Visual C# 2005 中构建的程序.我正在使用 Visual C# 2010.并且我不断收到以下函数的"NullReference Execption was unhandled"错误:
错误发生在 DataBuffer 行上.DataBuffer 只是在初始化时设置为

null
的私有字符串.
if (DataBuffer.Contains(ok)){okFound = true;}


string temp = getLine(DataBuffer.Substring(mylocation));if (!checkTypeFound()){if (temp != null){解析设备类型(临时);}checkTypeFound();}

此函数中加载DataBuffer信息:
private void ser1_DataReceived(对象 发送者,SerialDataReceivedEventArgs e){while (ser1.BytesToRead > 0){string data = ser1.ReadExisting();数据缓冲区 += 数据;}}

串行端口在代码中的其他位置打开.代码没有变化,只是编译器不同.我应该添加哪一行,以及在哪里解决这个错误?

推荐答案

hiii,

添加条件

if(!string.isNullOrEmpty(DataBuffer))
{
if(DataBuffer.Contains(ok))
{
okFound = true;
}
}

如果 DataBuffer 是 null,您显示的所有 3 个对 DataBuffer 的引用都会导致 NullReferenceException 被抛出.
为什么不将其初始化为 string.Empty 而不是 null ?

本文地址:https://www.itbaoku.cn/post/1356101.html