我有一个简单的CRUD应用程序,包含类别和手机, 对于来自 List 的单删除手机,我使用:
var arrayPhones = new List<Phone>();
using (StreamReader file = new StreamReader(@"d:/phones.json"))
{
var strPhones = file.ReadToEnd();
arrayPhones = JsonConvert.DeserializeObject<List<Phone>>(strPhones);
var currentPhone = arrayPhones.Where(p => p.Id == phone.Id).SingleOrDefault();
arrayPhones.Remove(currentPhone);
}
现在我要删除此类别的类别和所有手机,我的手机型号:
public class Phone
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("parentId")]
public int ParentId { get; set; }
[JsonProperty("caption")]
public string Caption { get; set; }
[JsonProperty("imgUrl")]
public string ImgUrl { get; set; }
如何删除所有类别的手机? 谢谢你的回答!
答案 0 :(得分:2)
似乎缺少一些信息。你的Category类是如何定义的?您的Phone类如何引用类别?
假设Phone有一个propId,它就像是:
var phonesOfThisCategory = arrayPhones.Where(p => p.CategoryId == category.Id);
foreach(var aPhone in phonesOfThisCategory)
{
arrayPhones.Remove(aPhone);
}
答案 1 :(得分:1)
对于多个记录,选择不要删除的记录并分配到列表
arrayPhones = arrayPhones.Where(p => p.Id != phone.Id).ToList();
答案 2 :(得分:0)
尝试使用此RemoveAll方法