C sharp (#) 数据类型获取方式

 更新时间:2022年11月03日 10:36:16   作者:勤奋的大熊猫  
这篇文章主要介绍了C sharp (#) 数据类型获取方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C sharp (#) 数据类型获取

这里研究一下关于c#中如何获取变量类型的问题。

首先我们研究一下如何获取单个变量的类型

// 问题一:获取单个变量的类型
// 方法一:使用GetType()方法
public static void JudgeType()
{
    int element = 5;
    // 我们应该知道, GetType()会返回一个类型,因此我们需要用类型变量来存储它
    Type type = element.GetType();
    // 如果我们需要判断这个类型与其他的类型,比如与int类型,那么我们应该与typeof(int)进行比较
    if (type == typeof(int))
    {
        Console.WriteLine("Is the type of element int? {0}", "Yes");
    }
}
// =============================================
// 方法二:使用is方法
public static void JudgeType()
{
    // 这里为了避免warning的出现,我们使用object来定义变量
    object element = 5;
    // 使用is来直接判断变量的类型
    if (element is int)
    {
        Console.WriteLine("Is the type of element int? {0}", "Yes");
    }
}

接下来我们研究一下如何获取列表变量的类型

// 问题二: 获取列表的类型
// 方法一:使用GetType()方法
public static void JudgeType()
{
    // 创建一个列表对象
    var list = new List<int>() { 1, 2 };
    Type type = list.GetType();
    if (type == typeof(List<int>))
    {
        Console.WriteLine("Is the type of list List<int>? {0}", "Yes");
    }
}
// =============================================
// 方法二:使用is方法
public static void JudgeType()
{
    var list = new List<int>() { 1, 2 };
    if (list is List<int>)
    {
        Console.WriteLine("Is the type of list List<int>? {0}", "Yes");
    }
}
// =============================================
// 方法三:使用GetType()和GetGenericArguments()方法
public static void JudgeType()
{
    var list = new List<int>() { 1, 2 };
    Type[] type = list.GetType().GetGenericArguments();
    if (type[0] == typeof(int))
    {
        Console.WriteLine("Is the type of list List<int>? {0}", "Yes");
        Console.WriteLine("Is the type of element in list int? {0}", "Yes");
    }
}
// =============================================
// 方法四: 使用GetType()和ToString()方法
public static void JudgeType()
{
    var list = new List<int>() { 1, 2 };
    foreach (var element in list)
    {
        Type type1 = element.GetType();
        if (type1.ToString() == "System.Int32")
        {
            Console.WriteLine("Is the type of element in list int? {0}", "Yes");
        }
    }
}
// =============================================
// 方法五: 使用GetType()和Name方法
public static void JudgeType()
{
    var list = new List<int>() { 1, 2 };
    string type_ = list[0].GetType().Name;
    Console.WriteLine(type_);
    if (type_ == "Int32")
    {
        Console.WriteLine("Is the type of element in list int? {0}", "Yes");
    }
}

C#的五大数据类型

1.类(class):如Windows,Form,Console,String

2.结构体(Structures):如Int32,Int64,Single,Double

3.枚举(Enumerations):如HorizontalAlignment,Visibility

4.接口(Interfaces)

5.委托(Delegates)

C#类型的派生谱类

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#窗口实现单例模式的方法

    C#窗口实现单例模式的方法

    本文介绍了C#窗口实现单例模式的方法,对于一个软件如果第二次打开程序,就把已经启动的那个进程的窗口放到最前端显示,需要了解的朋友可以参考下
    2015-07-07
  • C#实现读取ini配置文件的内容

    C#实现读取ini配置文件的内容

    INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,本文主要为大家详细介绍了C#实现读取ini配置文件内容的方法,需要的小伙伴可以了解下
    2023-12-12
  • 90分钟实现一门编程语言(极简解释器教程)

    90分钟实现一门编程语言(极简解释器教程)

    本文介绍了如何使用 C# 实现一个简化 Scheme——iScheme 及其解释器,需要的朋友可以参考下
    2016-12-12
  • C#使用 NAudio 实现音频可视化的方法

    C#使用 NAudio 实现音频可视化的方法

    这篇文章主要介绍了[C#] 使用 NAudio 实现音频可视化的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • C#操作INI配置文件示例详解

    C#操作INI配置文件示例详解

    这篇文章主要为大家详细介绍了C#操作INI配置文件示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C#字典转指定类型的技巧分享

    C#字典转指定类型的技巧分享

    这篇文章主要给大家介绍了C#字典转指定类型的技巧,文中通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,有需要的朋友可以借鉴参考一下
    2023-10-10
  • C#中文件名或文件路径非法字符判断方法

    C#中文件名或文件路径非法字符判断方法

    这篇文章主要介绍了C#中文件名或文件路径非法字符判断方法,本文主要使用了内置的GetInvalidFileNameChars方法实现非法字符判断,需要的朋友可以参考下
    2015-06-06
  • C#利用System.Threading.Thread.Sleep即时输出信息的详解

    C#利用System.Threading.Thread.Sleep即时输出信息的详解

    本篇文章是对C#利用System.Threading.Thread.Sleep即时输出信息进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C#的四种基本数据类型

    C#的四种基本数据类型

    本文主要介绍了C#的四种基本数据类型的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • C#9新特性init only setter的使用

    C#9新特性init only setter的使用

    这篇文章主要介绍了C#9新特性init only setter的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论