C# 判断集合中物料是否存在多个版本
在 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 方法判断是否已经存在该物料名称,如果存在且版本号不同,则说明有两个版本。如果遍历完整个集合没有发现有两个版本的物料,则说明所有物料都只有一个版本。
原文地址: https://www.cveoy.top/t/topic/mubY 著作权归作者所有。请勿转载和采集!