C# 类型判断

1. 类型判断用到的运算符

  • sizeof 运算符可以获知数据类型在内存中占用几个字节;
  • typeof 运算符可以获取数据类型的 CTS 类型名;
  • GetType() 方法可以获得变量的数据类型;
  • is 运算符检验某个对象是否为某种类型,用法更为简洁;

2. 类型判断实例

using System;

namespace TypeJudge
{
    class Program
    {
        static void Main(string[] args)
        {
            #region sizeof 运算符
            //通过 sizeof 运算符可以获知数据类型在内存中占用几个字节。
            Console.WriteLine("int: " + sizeof(int));
            Console.WriteLine("long: " + sizeof(long));
            Console.WriteLine("float: " + sizeof(float));
            Console.WriteLine("double: " + sizeof(double));
            Console.WriteLine("char: " + sizeof(char));
            Console.WriteLine();
            #endregion
    
            #region typeof 运算符
            //通过 typeof 运算符可以获取数据类型的 CTS 类型名。
            Console.WriteLine("int: " + typeof(int));
            Console.WriteLine("long: " + typeof(long));
            Console.WriteLine("float: " + typeof(float));
            Console.WriteLine("double: " + typeof(double));
            Console.WriteLine("char: " + typeof(char));
            Console.WriteLine();
            #endregion

            #region GetType()方法
            int n = 10;
            double f = 3.14;
            string s = "Good!";
            Cat kitty = new Cat();
            Human jack = new Human();
            Console.WriteLine("n: " + n.GetType());
            Console.WriteLine("f: " + f.GetType());
            Console.WriteLine("s: " + s.GetType());
            Console.WriteLine("kitty: " + kitty.GetType());
            Console.WriteLine("jack: " + jack.GetType());

            //判断kitty是不是猫有以下两种方法,第二种方法更简洁
            if(kitty.GetType() == typeof(Cat))
                Console.WriteLine("Kitty is a cat.");
            else
                Console.WriteLine("Kitty is not a cat.");

            if(kitty is Cat)
                Console.WriteLine("Kitty is a cat.");
            else
                Console.WriteLine("Kitty is not a cat.");

            //Kitty既然是猫,那它当然也是哺乳动物了
            if (kitty is Mammal)
                Console.WriteLine("Kitty is a Mammal.");
            else
                Console.WriteLine("Kitty is not a Mammal.");
            #endregion
        }
    }
    class Mammal
    {
    }
    class Cat: Mammal
    {
    }
    class Human : Mammal
    {
    }
}

在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MechMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值