文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-11-13 19:16

关注

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#类型的派生谱类

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯