在 C# 中,可以使用字典 (Dictionary) 来判断一个集合中物料是否存在多个版本。例如,假设有一个集合包含以下物料:'物料A,版本B','物料B,版本B','物料C,版本B','物料A,版本C'。

我们可以将物料名称作为字典的键,版本号作为值,然后遍历集合,如果某个物料名称已经在字典中出现过,且对应的版本号不同于当前版本号,则说明这个物料有两个版本。

以下代码展示了具体实现方法:

Dictionary<string, string> materials = new Dictionary<string, string>();
bool hasTwoVersions = false;
foreach (string material in collection)
{
    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[name] = version;
    }
}
if (hasTwoVersions)
{
    Console.WriteLine("这些物料有两个版本");
}
else
{
    Console.WriteLine("这些物料没有两个版本");
}

其中,collection 为物料集合,每个物料的格式为 '物料名称,版本号',例如 '物料A,版本B'。代码中使用 Split 方法将物料名称和版本号分离,并使用 ContainsKey 方法判断是否已经存在该物料名称,如果存在且版本号不同,则说明有两个版本。如果遍历完整个集合没有发现有两个版本的物料,则说明所有物料都只有一个版本。

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

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

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