string[] errorNum = {}; string[] errorTR = {"58453","58555"}; string[] errorGJ = {"58553", "58550", "58556" };设置两个boss类型TRY和GJY,并将TRY赋值为第二个数组是第一个数组子集时为真,将GJY赋值为第三个数组加上第二个数组都是第一个数组的子集时为真
时间: 2024-02-14 10:17:29 浏览: 37
可以使用以下代码来设置TRY和GJY的值:
```
bool subsetTR = !errorNum.Except(errorTR).Any();
bool subsetGJ = !errorNum.Except(errorTR.Concat(errorGJ)).Any();
string[] TRY = subsetTR ? errorTR : new string[] {};
string[] GJY = subsetGJ ? errorTR.Concat(errorGJ).ToArray() : new string[] {};
```
这里使用了LINQ的`Except()`和`Concat()`方法,`Any()`方法用于判断是否存在不同元素。`subsetTR`和`subsetGJ`分别表示`errorNum`是不是`errorTR`和`errorTR.Concat(errorGJ)`的子集,如果是,则相应的变量赋值为`errorTR`和`errorTR.Concat(errorGJ)`,否则赋值为空数组。
相关问题
string[] errorNum = { errorStations[0].stationumber }; string[] errorTR = { "58453", "58555" }; ;将errorNum重新赋值成去掉errorTR的数组
可以使用 LINQ 中的 Except 方法来实现去除 errorTR 数组元素的操作,代码如下:
```
string[] errorNum = errorStations.Select(s => s.stationumber).Except(errorTR).ToArray();
```
其中,`Select` 方法用于从 `errorStations` 集合中选择 `stationumber` 属性,`Except` 方法用于去除 `errorTR` 数组中的元素,`ToArray` 方法用于将结果转换为字符串数组。
string[] errorNum = { errorStations[0].stationumber }; string[] errorTR = { "58453", "58555" }; string[] errorGJ = { "58553", "58550", "58556" }; bool TRY = errorNum.Intersect(errorTR).Count() == errorNum.Count();//土壤水分是否全部掉线 bool GJY = errorNum.Intersect(errorTR.Concat(errorGJ)).Count() == errorNum.Count();//国家站是否全部掉线 if (TRY) { sb.AppendLine($"监控时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")},故障区域:柯桥、新昌土壤水分同时缺测,故障诊断:疑为全市性掉线,一般不为县局问题,请市局值班员进行排查"); string[] errorNum = errorStations.Select(s => s.stationumber).Except(errorTR).ToArray(); }报错修改
在 if 语句块中重新定义了一个名为 `errorNum` 的字符串数组,导致与之前定义的 `errorNum` 变量冲突,从而编译错误。可以将重新定义的 `errorNum` 改为另一个名称即可,例如:
```
string[] errorNum = { errorStations[0].stationumber };
string[] errorTR = { "58453", "58555" };
string[] errorGJ = { "58553", "58550", "58556" };
bool TRY = errorNum.Intersect(errorTR).Count() == errorNum.Count();
bool GJY = errorNum.Intersect(errorTR.Concat(errorGJ)).Count() == errorNum.Count();
if (TRY)
{
sb.AppendLine($"监控时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")},故障区域:柯桥、新昌土壤水分同时缺测,故障诊断:疑为全市性掉线,一般不为县局问题,请市局值班员进行排查");
string[] errorNumNew = errorStations.Select(s => s.stationumber).Except(errorTR).ToArray();
// 使用 errorNumNew 进行后续操作
}
```
在 if 语句块中使用了 `errorNumNew` 数组进行后续操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)