C# 判断一个数据集合LIst<Model> model为起始重量stateWeight 和截止重量endweight 数据List集合 起止重量到截止重量 是否连续
时间: 2024-04-15 08:31:23 浏览: 116
C#实现的体重诊断法
要判断一个数据集合 `List<Model>` 中的起始重量和截止重量是否连续,可以使用类似之前的方法。以下是一个示例代码:
```csharp
using System;
using System.Collections.Generic;
class Model
{
public int StateWeight { get; set; }
public int EndWeight { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Model> models = new List<Model>
{
new Model { StateWeight = 10, EndWeight = 15 },
new Model { StateWeight = 20, EndWeight = 25 },
new Model { StateWeight = 30, EndWeight = 35 }
};
bool isContinuous = IsWeightRangeContinuous(models);
Console.WriteLine($"The weight ranges are{(isContinuous ? "" : " not")} continuous.");
}
static bool IsWeightRangeContinuous(List<Model> models)
{
if (models.Count == 0)
{
// 数据集合为空,不连续
return false;
}
models.Sort((m1, m2) => m1.StateWeight.CompareTo(m2.StateWeight)); // 按起始重量升序排序
for (int i = 0; i < models.Count - 1; i++)
{
if (models[i].EndWeight != models[i + 1].StateWeight - 1)
{
// 如果有任何一个数值不连续,则返回 false
return false;
}
}
return true;
}
}
```
在上面的代码中,我们定义了一个 `Model` 类来表示数据集合中的每个模型,包含了起始重量 `StateWeight` 和截止重量 `EndWeight`。我们定义了一个 `IsWeightRangeContinuous` 方法来判断数据集合中的起始重量和截止重量是否连续。首先,我们对数据集合进行按起始重量升序排序。然后,我们使用一个循环从第一个模型开始遍历到倒数第二个模型,判断当前模型的截止重量是否等于下一个模型的起始重量减 1,如果不等于,则说明数值不连续,返回 `false`。如果循环结束后都没有发现不连续的情况,则返回 `true`。
在本例中,我们定义了一个数据集合 `models`,包含了三个模型,每个模型都有起始重量和截止重量。运行代码后,将输出结果为 "The weight ranges are continuous.",表示数据集合中的起始重量和截止重量连续。
阅读全文