【发布时间】:2018-02-12 13:54:28
【问题描述】:
我正在尝试比较用户输入的字符串是否存在于列表中,如果存在,我想将其从列表中删除。
我收到一个错误:
参数 1:无法从 'project.MainClass.Artical' 转换为 'string'
我知道我得到它是因为我正在尝试将字符串与列表进行比较。
我有结构:
struct Artical {
public string name;
public float price;
public double weight;
}
和方法:
static void DeleteArtical()
{
Artical k = new Artical();
Console.WriteLine("Enter name you want to delete: ");
k.name = Console.ReadLine();
List < Artical > articals = new List < Artical > ();
using(StreamWriter sw = File.AppendText((@ "../../dat.txt"))) {
if (articals.Exists(x => string.Equals(x, k.name, StringComparison.OrdinalIgnoreCase))) {
Console.WriteLine("Done !!");
artikli.Remove(k);
}
}
}
x 带有下划线,并给出了我上面提到的错误。
【问题讨论】:
-
您将
Artical对象与字符串值进行比较。将其更改为 =>x.name, k.name