我尝试使用下面的代码更新列表中的一个条目,但仍然没有运气。
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.Equals(fName))] = fNameNew;
我的参数fNameNew
出错了,它说我无法隐式转换类型'字符串'到x.PhonebookItem。
答案 0 :(得分:1)
您应该将fNameNew分配给对象的firstname属性,因此它应该是
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))].firstname = fNameNew;
答案 1 :(得分:1)
应该是这样的:
entries
.PhonebookList[
entries
.PhonebookList
.FindIndex(ab =>
ab.FirstName.Equals(fName))
].FirstName= fNameNew;
答案 2 :(得分:1)
两个问题:
首先,您尝试将整个对象与单个字符串进行比较:
entries.PhonebookList.FindIndex(ab => ab.Equals(fName))
您希望仅将该对象上的一个属性与字符串进行比较:
entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))
此时您已成功引用列表中的对象:
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))]
但第二个问题是你无法将整个对象设置为字符串。相反,只需设置属性:
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))].FirstName = fNameNew;
答案 3 :(得分:0)
对于那些回答这个问题的人。非常感谢你。下面的代码适合我。
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))].FirstName = fNameNew;
祝所有人幸福。你们真的很棒。 :)