c# List<class>中取出两个属性的新类
时间: 2024-12-14 13:14:14 浏览: 8
在 C# 中,如果你有一个 `List<T>` 集合,其中 T 是一个包含两个特定属性(比如 `PropertyA` 和 `PropertyB`)的对象类型,你可以创建一个新的类,这个新类只包含这两个属性。首先,假设你有如下基础类:
```csharp
public class BaseClass
{
public string PropertyA { get; set; }
public int PropertyB { get; set; }
}
```
为了提取出这两个属性,你可以创建一个新的匿名类型(也称为投影或值类型),或者定义一个名为 `ExtractedProperties` 的具名类。这里是一个具名类的例子:
```csharp
public class ExtractedProperties
{
public string PropertyA;
public int PropertyB;
public ExtractedProperties(BaseClass item)
{
PropertyA = item.PropertyA;
PropertyB = item.PropertyB;
}
}
```
然后,你可以遍历 `List<BaseClass>` 并将每个元素转换为 `ExtractedProperties` 对象:
```csharp
List<BaseClass> baseItems = ...; // 假设这是你的列表
List<ExtractedProperties> extractedItems = baseItems.Select(item => new ExtractedProperties(item)).ToList();
```
现在,`extractedItems` 列表包含了原始集合的 `PropertyA` 和 `PropertyB` 属性组合。
阅读全文