为什么else情况下会分行输出station.stationumber,但是station.stationumber不能作为数组元素存储在errorNum中?还是已经存储进入,但是不完全
时间: 2024-03-25 13:39:03 浏览: 43
编译原理实验报告材料.pdf
在代码中,`errorNum` 数组是由 `station.stationumber` 变量创建的,因此如果 `station.stationumber` 的值不是字符串类型,就需要将其转换为字符串类型,才能存储到 `errorNum` 数组中。
在 `else` 分支中,程序会将 `station.stationumber` 的值输出到文本行中,而不是将其存储到 `errorNum` 数组中。这是因为 `else` 分支表示 `errorNum` 数组不包含 "58453" 和 "58555" 这两个元素,因此 `station.stationumber` 的值与 `errorNum` 数组没有直接的关系。
如果 `station.stationumber` 的值也需要存储到数组中,可以在代码中增加相应的逻辑,例如:
```
string[] errorNum = { "58453", "58555" };
if (errorNum.Contains(station.stationumber))
{
sb.AppendLine($"监控时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")},故障情况:柯桥、新昌土壤水分同时缺测,故障诊断:疑似为全市性掉线,请市值班人员确认,并联系省级人员排查是否为全省性故障。");
}
else
{
errorNum = errorNum.Concat(new string[] { station.stationumber }).ToArray();
sb.AppendLine($"监控时间:{station.observtime.ToString("yyyy-MM-dd HH:mm:ss")},故障区域:{station.region},故障站点台站号:{station.stationumber},故障诊断:{errorTypeStr}");
}
```
在这个例子中,如果 `errorNum` 数组不包含 `station.stationumber`,那么就将 `station.stationumber` 添加到 `errorNum` 数组中。这样,`errorNum` 数组就包含了所有的故障站点台站号。
阅读全文