C# 类型转换

简介: 但是当大范围转小范围,或者是高精度转低精度的时候,就要考虑范围和精度的问题了。前提是输入的字符串要能够直接转换成对应类型的值,而且要符合目标的存储范围。上面的两种方法常用于数值之间的转换和字符串转换,我们还可以使用。可以实现更加精确的转换,同时,适用的变量类型也更多。是将一个类型的值手动转换成目标类型的转换方式。如果是其他类型转换成字符串则更加简单,只需要使用。类型的变量,这里面就发生了隐式转换。则是不同变量类型之间的自动转换。即不同变量类型之间的相互转换。除此之外,我们还可以通过。类型的变量也可以存储。
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页: 小嗷犬的博客
🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
🥭本文内容:C# 类型转换

@TOC


1.隐式转换

类型转换 即不同变量类型之间的相互转换。

隐式转换 则是不同变量类型之间的自动转换。

在我们将一个小范围的值赋值给一个大范围的变量或者将一个低精度的值赋值给一个高精度的变量时,会发生这种转换:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 1;
            long l = i;
            Console.WriteLine(l);
        }
    }
}
这段代码将一个 int类型的 1赋值给了一个 long类型的变量,这里面就发生了隐式转换。

这样的操作反过来是不行的:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            long l = 1;
            int i = l;
            Console.WriteLine(i);
        }
    }
}
第10行报错:``error CS0266: 无法将类型“long”隐式转换为“int”。存在一个显式转换(是否缺少
强制转换?)``

同样的,double类型的变量也可以存储float类型的值:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            float f = 1;
            double d = f;
            Console.WriteLine(d);
        }
    }
}

2.显示转换

显示转换 是将一个类型的值手动转换成目标类型的转换方式。

我们可以通过括号加目标类型来进行强制转换:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            long l = 1;
            int i = (int)l;
            Console.WriteLine(i);
        }
    }
}
这样就不会报错。但是当大范围转小范围,或者是高精度转低精度的时候,就要考虑范围和精度的问题了。

除此之外,我们还可以通过Parse来将字符串转换成对应类型的值:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "123";
            int i = int.Parse(s);
            Console.WriteLine(i);
        }
    }
}
前提是输入的字符串要能够直接转换成对应类型的值,而且要符合目标的存储范围。

上面的两种方法常用于数值之间的转换和字符串转换,我们还可以使用Convert来进行数据之间的转换:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = Convert.ToInt32("123");
            Console.WriteLine(i);
        }
    }
}
使用 Convert.To + 数据类型可以实现更加精确的转换,同时,适用的变量类型也更多。

如果是其他类型转换成字符串则更加简单,只需要使用ToString就行:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = 3.1415.ToString();
            Console.WriteLine(s);
        }
    }
}
在值之后直接添加 .ToString()即可完成转换。
目录
相关文章
|
3月前
|
开发框架 安全 .NET
全面掌握C#中的类型转换:详解与实践
【8月更文挑战第20天】
135 0
C#基础③——类型转换(int转double、double转int、Convert)
不同数据类型间的转换,如:将int类型转换为string类型
|
安全 C#
C#类型转换
C#类型转换
51 0
|
6月前
|
存储 C#
C# 数据类型与类型转换:包含教程与示例
使用正确的数据类型对应于相应的变量是重要的;这样可以避免错误、节省时间和内存,还会使您的代码更易于维护和阅读。最常见的数据类型有:
60 0
|
C#
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
58 0
|
C# C++ Windows
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
377 0
C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
|
存储 编译器 C#
C#中的类型转换
C#中的类型转换
164 0
|
存储 安全 编译器
☀️ 学会编程入门必备 C# 最基础知识介绍(二)——进制、原码反码、基本语法、数据类型、类型转换
C#🔥 基础知识🎓 进制🙉 原码反码补码🙈 基本语法🙊 using 关键字 👂 class 关键字👀 C# 中的注释❄️ 成员变量👥 成员函数👤 实例化一个类💬 标识符⚡️ C# 关键字☀️ 数据类型🎈 值类型(Value types)🐶 引用类型(Reference types)🐱 对象(Object)类型🐸 动态(Dynamic)类型🐨 字符串(String)类型🐯 指针类型(Pointer types)🐷 类型转换🎅 隐式类型转换🎄 显式类型转换🎁 C# 类型转换方法🔔 基本输入、输出函数🎉 总结💬
☀️ 学会编程入门必备 C# 最基础知识介绍(二)——进制、原码反码、基本语法、数据类型、类型转换
|
C# 容器
c#小灶——8.自动类型转换和强制类型转换
c#小灶——8.自动类型转换和强制类型转换前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢? int a = 1;double b = a;Console.WriteLine(b);运行结果是:1 我们把一个整型的变量赋值给了一个浮点型的变量,可以正常的输出,如果我们把一个浮点型的变量赋值给一个整型的变量呢? double a = 1;int b = a;Console.WriteLine(b);这样就会报错。
830 0