如何通过“Name”字段比较 cars 数组中的 auto[0]? 字符串 if (!cars.Contains(auto[0])) 当然不正确。
namespace AutoSqare
{
class CarsInfo
{
static List<Tech> cars = new List<Tech>();
public class Tech
{
public string Name { get; set; }
public double KM { get; set; }
}
static void Main()
{
string[] auto = new string[]{"Lada Vesta"};
cars.Add(new Tech()
{
Name = "Lada Vesta Sport",
KM = 190
});
if (!cars.Contains(auto[0]))
cars.Add(new Tech()
{
Name = auto[0],
KM = 0
});
}
}
}
请您参考如下方法:
您可以使用 LINQ 的 Any()方法:
if (!cars.Any(c => c.Name == auto[0]))
但是您似乎打算只使用唯一 汽车名称,所以使用 Dictionary<string,Tech>似乎比 List<Tech> 好:
static Dictionary<string, Tech> cars = new Dictionary<string,Tech>();
static void Main()
{
string[] auto = new string[]{"Lada Vesta"}; // <-- you also had a syntax error here
Tech tech = new Tech()
{
Name = "Lada Vesta Sport",
KM = 190
};
cars.Add(tech.Name, tech);
if (!cars.ContainsKey(auto[0])) // <--- Use ContainsKey here
cars.Add(auto[0], new Tech()
{
Name = auto[0],
KM = 0
});
}
