如何在C#中获取数组的数据类型?

胡安·埃斯特万·德拉·卡勒

我正在制作一种统计软件,该软件首先需要“检测”数组的数据类型。

首先,X [,]是sometype的数组,可以是所有字符串,所有double,所有int或全部的组合。

现在,对于每一列X []我都需要知道数据类型。喜欢:

  • 如果所有内容均为0或1,则为布尔值(或二项式)
  • else如果一切都是整数,则整数
  • 否则如果一切都翻了一番
  • else:字符串

我在C#中需要这样的东西。

务实的

因此,您似乎想要在此处执行的操作是在此处找到类型的“最低公分母”。集合中所有项目“均为”的最派生类型。

我们将从此辅助方法开始,以获取对象的整个类型层次结构(包括自身):

public static IEnumerable<Type> BaseClassHierarchy(object obj)
{
    Type current = obj.GetType();
    do
    {
        yield return current;
        current = current.BaseType;
    } while (current != null);
}

现在,我们可以获取一个对象序列,将每个对象映射到其层次结构,将所有这些序列彼此相交,然后结果的第一项是所有其他对象共有的最派生类型:

public static Type MostDerivedCommonType(IEnumerable<object> objects)
{
    return objects.Select(o => BaseClassHierarchy(o))
        .Aggregate((a,b)=> a.Intersect(b))
        .First();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#中返回不同的数据类型?

来自分类Dev

如何在C#中返回不同的数据类型?

来自分类Dev

如何从C / C ++中的HDF5数据类型获取数组大小

来自分类Dev

在C#中将数组中的不同数据类型相乘

来自分类Dev

如何在Postgres中获取枚举数据类型的AVG?

来自分类Dev

如何在zsh中获取变量数据类型?

来自分类Dev

如何在jQuery中获取数据类型属性?

来自分类Dev

如何获取数组的数据类型的大小

来自分类Dev

如何在C中创建和读取数据类型的动态数组?

来自分类常见问题

如何在C#中创建原始数据类型?

来自分类Dev

如何在c#中更改属性的数据类型

来自分类Dev

如何在c#中动态地将值转换为数据类型?

来自分类Dev

如何在C中更改数据类型

来自分类Dev

如何使用C#实体框架获取SQL Server表/视图等中各列的数据类型?

来自分类Dev

如何在Deedle C#中从框架中获取列作为双数组类型?

来自分类Dev

如何检查C ++中的数据类型?

来自分类Dev

C#中具有两种不同数据类型的二维数组

来自分类Dev

C#中具有混合数据类型的数组

来自分类Dev

如何在数组中存储多个数据类型?

来自分类Dev

如何在Typescript中为对象数组声明数据类型?

来自分类Dev

如何在Typescript中为对象数组声明数据类型?

来自分类Dev

如何在Java中将信息集(以用户定义的数据类型)添加到数组中

来自分类Dev

如何在对象数组列表中存储具有自己的数据类型的列表

来自分类Dev

如何在混合数据类型的数组中返回最短字符串?

来自分类Dev

如何在数组中填充多种数据类型?

来自分类Dev

如何在 BigQuery 中连接两个不同数据类型的数组?

来自分类常见问题

如何在PostgreSQL中获取表的列表列名称和数据类型?

来自分类Dev

如何在Haskell中以标记的并集数据类型获取值?

来自分类Dev

如何在空的Bindingsource中获取项目的数据类型?

Related 相关文章

  1. 1

    如何在C#中返回不同的数据类型?

  2. 2

    如何在C#中返回不同的数据类型?

  3. 3

    如何从C / C ++中的HDF5数据类型获取数组大小

  4. 4

    在C#中将数组中的不同数据类型相乘

  5. 5

    如何在Postgres中获取枚举数据类型的AVG?

  6. 6

    如何在zsh中获取变量数据类型?

  7. 7

    如何在jQuery中获取数据类型属性?

  8. 8

    如何获取数组的数据类型的大小

  9. 9

    如何在C中创建和读取数据类型的动态数组?

  10. 10

    如何在C#中创建原始数据类型?

  11. 11

    如何在c#中更改属性的数据类型

  12. 12

    如何在c#中动态地将值转换为数据类型?

  13. 13

    如何在C中更改数据类型

  14. 14

    如何使用C#实体框架获取SQL Server表/视图等中各列的数据类型?

  15. 15

    如何在Deedle C#中从框架中获取列作为双数组类型?

  16. 16

    如何检查C ++中的数据类型?

  17. 17

    C#中具有两种不同数据类型的二维数组

  18. 18

    C#中具有混合数据类型的数组

  19. 19

    如何在数组中存储多个数据类型?

  20. 20

    如何在Typescript中为对象数组声明数据类型?

  21. 21

    如何在Typescript中为对象数组声明数据类型?

  22. 22

    如何在Java中将信息集(以用户定义的数据类型)添加到数组中

  23. 23

    如何在对象数组列表中存储具有自己的数据类型的列表

  24. 24

    如何在混合数据类型的数组中返回最短字符串?

  25. 25

    如何在数组中填充多种数据类型?

  26. 26

    如何在 BigQuery 中连接两个不同数据类型的数组?

  27. 27

    如何在PostgreSQL中获取表的列表列名称和数据类型?

  28. 28

    如何在Haskell中以标记的并集数据类型获取值?

  29. 29

    如何在空的Bindingsource中获取项目的数据类型?

热门标签

归档