C# 判断集合中物料是否存在多个版本

在 C# 中,你可以使用字典 (Dictionary) 来判断一个集合中是否包含相同物料但不同版本的元素。

思路:

  1. 使用字典 (Dictionary) 来记录每个物料的版本号,以物料名称为键,版本号为值。
  2. 遍历集合,对于每个元素,检查字典中是否已存在该物料。
  3. 如果字典中已存在该物料,则比较当前元素的版本号与字典中记录的版本号。
  4. 如果版本号不同,则说明存在两个版本。

示例代码:

Dictionary<string, string> materials = new Dictionary<string, string>();
bool hasTwoVersions = false;

foreach (string material in materialsList)
{
    string[] parts = material.Split(',');
    string name = parts[0].Trim();
    string version = parts[1].Trim();

    if (materials.ContainsKey(name))
    {
        if (materials[name] != version)
        {
            hasTwoVersions = true;
            break;
        }
    }
    else
    {
        materials.Add(name, version);
    }
}

if (hasTwoVersions)
{
    Console.WriteLine('存在两个版本的物料');
}
 else
{
    Console.WriteLine('不存在两个版本的物料');
}

示例数据:

物料A, 版本B
物料B, 版本B
物料C, 版本B
物料A, 版本C

运行结果:

存在两个版本的物料

解释:

代码中首先创建一个字典 materials,用于存储每个物料的版本号。然后遍历 materialsList,对于每个元素,将物料名称和版本号提取出来。

如果字典中已经存在该物料,则比较当前元素的版本号与字典中记录的版本号。如果版本号不同,则说明存在两个版本,并将 hasTwoVersions 设置为 true。

最后根据 hasTwoVersions 的值输出结果。

注意事项:

  • 代码中使用了 Trim() 方法去除字符串前后空格,以确保物料名称和版本号的准确性。
  • 可以根据实际情况修改代码,例如,可以使用其他数据结构来存储物料信息,也可以添加其他判断条件。
C# 判断集合中物料是否存在多个版本

原文地址: https://www.cveoy.top/t/topic/mubE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录