我正在尝试使用下面的代码更新列表中的一个条目,但仍然没有运气。如何使用c更新列表中的条目#
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.Equals(fName))] = fNameNew;
我对我的参数fNameNew
得到了一个错误,它说,我不能隐式转换类型“字符串”到x.PhonebookItem。
我正在尝试使用下面的代码更新列表中的一个条目,但仍然没有运气。如何使用c更新列表中的条目#
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.Equals(fName))] = fNameNew;
我对我的参数fNameNew
得到了一个错误,它说,我不能隐式转换类型“字符串”到x.PhonebookItem。
你应该分配fNameNew对象的名字属性,所以它应该是
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))].firstname = fNameNew;
不应该像'ab.FirstName.Equals(fName)'? –
@AkashKC对呀! – Sajeetharan
你们真的很棒。它现在工作。谢谢你的所有帮助:) – anonymousRey
它应该是这样的:
entries
.PhonebookList[
entries
.PhonebookList
.FindIndex(ab =>
ab.FirstName.Equals(fName))
].FirstName= fNameNew;
它使用这段代码工作。谢谢:) – anonymousRey
两个问题:
首先,试图将整个对象与单个字符串进行比较:
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;
这一个工程。 entries.PhonebookList [entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))]。FirstName = fNameNew; – anonymousRey
非常感谢你:) – anonymousRey
那些回答这个问题的人。非常感谢你。下面的代码适用于我。
entries.PhonebookList[entries.PhonebookList.FindIndex(ab => ab.FirstName.Equals(fName))].FirstName = fNameNew;
拥有幸福的每一天都:)你们是真是太神奇了。 :)
你已经接受了答案,不需要在这里发表 – Eldho
fNameNew的值是什么,phonebookitem的属性是什么? – Sajeetharan
var fNameNew = Console.Readline(); PhonebookItem有名字,姓氏和号码。 – anonymousRey
看起来'PhonebookList'不是一个字符串列表,而是一个你定义的一个对象列表,叫做'PhonebookItem'。 – David