Visual Studio C# 观察 window 和数组
Visual Studio C# Watch window and arrays
我目前正在调查列表(或数组,我在此 post 中将“列表”等同于数组使用,因为数组可以在需要时转换为列表)
比如我有
List<Car> cars = new List<Cars>();
我的 Car 对象是这样制作的
public class Car
{
public double Weight {get; set;}
public double TopSpeed {get; set;}
public int NumberOfPassengers {get; set;}
public string ModelName {get; set;}
}
在观察列表中我想查看列表中的项目但只关心ModelName
属性。有什么办法可以让我在观察列表中显示扩展列表,只显示 ModelName
属性?
当前,当我展开列表时,它显示它包含 4 个元素,而在“值”列中,它只显示 (somename.namespace.Car)
。所以我需要进一步扩展列表的每个元素以查看所有属性,但如果列表变长或列表中有很多元素,这会变得混乱。一个约束 --> class Car 不在我的控制之下,因此我不能覆盖它的 ToString()
方法或使用 [DebuggerDisplay()]
.
我尝试使用 Linq ForEach(x => Console.write(x.modelName)
,但它不起作用。
我很高兴收到任何建议或提示:-)
感谢@nilsK 的提示。我找到了这个解决方案:
简单地使用这个手表表达式:
myListWithCars.Select(x => x.modelName).ToList()
我目前正在调查列表(或数组,我在此 post 中将“列表”等同于数组使用,因为数组可以在需要时转换为列表)
比如我有
List<Car> cars = new List<Cars>();
我的 Car 对象是这样制作的
public class Car
{
public double Weight {get; set;}
public double TopSpeed {get; set;}
public int NumberOfPassengers {get; set;}
public string ModelName {get; set;}
}
在观察列表中我想查看列表中的项目但只关心ModelName
属性。有什么办法可以让我在观察列表中显示扩展列表,只显示 ModelName
属性?
当前,当我展开列表时,它显示它包含 4 个元素,而在“值”列中,它只显示 (somename.namespace.Car)
。所以我需要进一步扩展列表的每个元素以查看所有属性,但如果列表变长或列表中有很多元素,这会变得混乱。一个约束 --> class Car 不在我的控制之下,因此我不能覆盖它的 ToString()
方法或使用 [DebuggerDisplay()]
.
我尝试使用 Linq ForEach(x => Console.write(x.modelName)
,但它不起作用。
我很高兴收到任何建议或提示:-)
感谢@nilsK 的提示。我找到了这个解决方案:
简单地使用这个手表表达式:
myListWithCars.Select(x => x.modelName).ToList()