我有一个对象列表
public int id { get; set; }
public string device_code { get; set; }
public string device_type { get; set; }
public string authentication_token { get; set; }
public string Status { get; set; }
在返回列表时我想删除" device_code"和" device_type"从列表中返回列表仅使用" id"," authentication_token"和"状态"。 如何删除某些对象?
答案 0 :(得分:0)
很简单,创建另一个包含所需属性的类,然后使用您创建的列表返回其对象。
原始班级
public class Data {
public int id { get; set; }
public string device_code { get; set; }
public string device_type { get; set; }
public string authentication_token { get; set; }
public string Status { get; set; }
}
将返回的课程
public class DataTobeReturned {
public int id { get; set; }
public string authentication_token { get; set; }
public string Status { get; set; }
}
假设您有
之类的列表List<Data> list = // some data;
你可以做到
List<DataTobeReturned> list2 = list.Select(x => new DataTobeReturned { x.id, x.Status, x.authentication_token}).ToList();
只需返回list2
对象。
答案 1 :(得分:0)
您必须将对象转换为仅包含所需属性的另一种类型。 你可以用linq轻松完成这个:
var result = yourCollection.Select(x => new YourTempClass(){property1=x.property1});
答案 2 :(得分:0)
您似乎不想删除对象,而是删除对象的属性。
public class ClassWithAllProperties
{
public int id { get; set; }
public string device_code { get; set; }
public string device_type { get; set; }
public string authentication_token { get; set; }
public string Status { get; set; }
}
var allInstances = new List<ClassWithAllProperties>();
// populate list
var allInstancesButNotAllProperties = allInstances.Select(x => new { id = x.id, authentication_token = x.authentication_token, Status = x.Status }).ToList();
现在此列表仅包含您想要的属性。 然而显然不包含ClassWithAllProperties
的实例。它包含所谓的匿名类。根据{{1}}。
答案 3 :(得分:0)
如果你有这门课程:
class MyClass
{
public int id { get; set; }
public string device_code { get; set; }
public string device_type { get; set; }
public string authentication_token { get; set; }
public string Status { get; set; }
}
......你有一份清单......
List<MyClass> list;
您可以使用LINQ:
将您想要的属性提取为匿名类型var justWhatIWant = list.Select( a => new
{
id = a.id,
authentication_token = a.authentication_token,
Status = a.Status
});
匿名类型与任何东西都没有接口兼容,但您可以使用它来创建一些JSON。