我想更新已存在的c#布尔列表。
以下工作吗?
updateUserPhoto = function(url,imageName){
var updateRef = {}
updateRef ['/user/' + firebase.auth().currentUser.uid + '/photoUrl'] = url;
updateRef ['/user/' + firebase.auth().currentUser.uid + '/imageName'] = imageName // you can use the imageName key and value when a user uploads a new photo so you can use this imageName and refer it to the storage ref and delete the old and upload the newer one.
firebase.database().ref().update(updateRef) // this is method is called multipath update. Note it returns a promise.
}
为什么我会看到上下文警告
从不使用传递给方法的值,因为在读取之前它会在方法体中被覆盖
答案 0 :(得分:3)
你拥有的item
实际上只是lambda函数的一个参数。如果您指定它,则只修改参数,而不是列表中的值。这是一个有效的事情,但它通常不合理,因此警告。
如果要实际更新列表中的值,则需要执行以下操作:
for(var i = 0; i < myList.Length; i++)
myList[i] = true;
看起来更冗长?它是。但迭代器不是为突变而设计的。如果您可以生成新列表并完全替换myList
,那么您可以这样做:
myList = myList.Select(item => true).ToList();
请注意原始列表将会消失。