C#学习笔记(三)

这篇博客主要介绍了C#中的类型转换,包括隐式和显式转换,并探讨了表达式和语句的使用,特别是如何用语句编写一个数字输入小游戏。此外,还讲解了字段、属性、常量的概念和用法,强调了它们在程序设计中的重要性。
摘要由CSDN通过智能技术生成

对(二)中 new 的补充

            //声明匿名类型创建对象,并且用隐式变量对其进行引用
            var personUnknown = new { Name = "Pas.by", Age = 32 };
            Console.WriteLine(personUnknown.Name);
            Console.WriteLine(personUnknown.Age);
            Console.WriteLine(personUnknown.GetType().Name);

一.类型转换

1.隐式转换

  • 不丢失精度(小数据向大数据转换  int 向 long转换)
  • 子类向父类转换:当一个引用变量引用的实例赋给另一个引用变量时,被赋值的引用变量可访问的数据取决于自身的类型
    class Program
    {
        static void Main(string[] args)
        {
            Son son = new Son();
            Console.WriteLine(son.name);

            Father father = (Father)son; 
//子类向父类的转换,直接通过类型转换符(T)x,将son转换为Father类并赋予引用变量father
            Console.WriteLine(father.name);
        }

        class Father
        {
            public string name = "father";
            public string car = "Audi";

            void PrintFather()
            {
                Console.WriteLine("I'm father.");
            }
        }

        class Son : Father
        {
            public string name = "son";

            void PrintSon()
            {
                Console.WriteLine("I'm son.");
            }
        }
  • 装箱(之后详细记录)

2.显式转换

  • cast:使用类型转换操作符(可能会损失数据)
int x = 65536;
ushort y = (ushort) x; 
//此处会损失,因为 65536 超过了ushort的上限65535,最终会将 0 赋值给y
//转为二进制数字更好理解了
  • 拆箱(之后详细记录)
  • 使用Convert类
int a = 100;
double b = Convert.ToDouble(a); //调用了Convert类中的ToDouble方法
  • ToString与Parse、TryParse
int a = 100;
string b = a.ToString(); //调用了Int32结构体中的ToString方法

//-------------------------------

string str1 = &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值