Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我有一个基本自定义对象P的列表,但我想知道是否有任何给定的P是继承类Ph。可以这样做吗?_C# - Fatal编程技术网

C# 我有一个基本自定义对象P的列表,但我想知道是否有任何给定的P是继承类Ph。可以这样做吗?

C# 我有一个基本自定义对象P的列表,但我想知道是否有任何给定的P是继承类Ph。可以这样做吗?,c#,C#,我有一个自定义项目对象列表,其中两个类继承自这个类,ProjectsPerHour和PrePaidProjects 我在ProjectsPerHour上有一个添加缺勤的方法,但我不知道在这个列表中哪个项目是ProjectsPerHour 我如何知道项目列表中的对象p是否是继承的类之一 使用MVC。仅用于筛选列表。如果筛选列表包含单个项,则可以使用Single() var list = new P[] { new P(), new Ph() }; var listOfJustPh

我有一个自定义项目对象列表,其中两个类继承自这个类,ProjectsPerHour和PrePaidProjects

我在ProjectsPerHour上有一个添加缺勤的方法,但我不知道在这个列表中哪个项目是ProjectsPerHour

我如何知道项目列表中的对象p是否是继承的类之一

使用MVC。

仅用于筛选列表。如果筛选列表包含单个项,则可以使用
Single()

var list = new P[]
{
    new P(),
    new Ph()
};

var listOfJustPh = list.OfType<Ph>();
Ph ph = listOfJustPh.Single();
var list=newp[]
{
新的P(),
新Ph()
};
var listOfJustPh=list.OfType();
Ph=listOfJustPh.Single();

您应该避免这种情况,因为如果您添加更多的类,那么将来维护代码会更加困难。为了补充这个答案,
of type()
不仅会过滤
派生类型的人,还会强制转换他们,以便您可以根据需要直接使用他们。