C# 判断集合中物料是否存在多个版本
C# 判断集合中物料是否存在多个版本
在 C# 中,你可以使用字典 (Dictionary) 来判断一个集合中是否包含相同物料但不同版本的元素。
思路:
- 使用字典 (Dictionary) 来记录每个物料的版本号,以物料名称为键,版本号为值。
- 遍历集合,对于每个元素,检查字典中是否已存在该物料。
- 如果字典中已存在该物料,则比较当前元素的版本号与字典中记录的版本号。
- 如果版本号不同,则说明存在两个版本。
示例代码:
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() 方法去除字符串前后空格,以确保物料名称和版本号的准确性。
- 可以根据实际情况修改代码,例如,可以使用其他数据结构来存储物料信息,也可以添加其他判断条件。
原文地址: https://www.cveoy.top/t/topic/mubE 著作权归作者所有。请勿转载和采集!