轻松学习C#的预定义数据类型

 更新时间:2022年05月06日 14:42:40   投稿:lijiao  
轻松学习C#的预定义数据类型,C#的预定义数据类型包括两种,一种是值类型,一种是引用类型,需要的朋友可以参考下

C#的预定义数据类型包括两种,一种是值类型,一种是引用类型。值类型的变量在内存中是存储在堆栈中的,字面上理解就是直接保存其值,如声明一个属于值类型的整型变量,并给它赋予另一个整型变量的值,则在内存中事先复制一个整型变量的值,然后将其赋予刚刚声明的整型变量,这时内存中就会有两个整型值。引用类型的变量在内存中是直接保存其值的引用。C#语言中大多数复杂数据类型都是引用类型。

先来一个值类型的常量的例子

根据用户输入圆的半径,求圆的面积的代码:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace area 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      const double PI = 3.14; 
      Console.WriteLine("请输入一个整数为圆的半径:"); 
      int r = Convert.ToInt32(Console.ReadLine()); 
      double Area = PI * r * r; 
      Console.WriteLine("所求圆的面积为:"+Area); 
      Console.ReadLine(); 
    } 
  } 
}

分析: Console.WriteLine("请输入一个整数为圆的半径:");
int r = Convert.ToInt32(Console.ReadLine());这两句是将输入的返回的字符串转换为整型进行算术运算。代码中的Convert.ToInt32()方法是将字符串转换为整型的方法。
在预定义的数据类型中,引用类型有object(对象)类型和string(字符串)类型两种。

1、object类型是所有其他类型的基类型,所以可把任何类型的值赋给它。

就来看一个关于object类型的例子:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace objectType 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      object a; 
      a = 10; 
      Console.WriteLine(a); 
      Console.WriteLine(a.GetType()); 
      a = true; 
      Console.WriteLine(a); 
      Console.WriteLine(a.GetType()); 
      a = 10.0M; 
      Console.WriteLine(a); 
      Console.WriteLine(a.GetType()); 
      Console.ReadLine();  
    } 
  } 
}

分析:代码中的GetType()方法是获取变量的数据类型。第一次将整型值赋值给a,其次是布尔型,最后是decimal型。输出的结果为:从输出的结果可以体现出C#语言的类型强大功能

2、string类型是用一对双引号引起来的字符,它是通过复制对其赋值的。

通过一个例子来实现字符串赋值是创建一个新的字符串来实现的:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace str 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      string str1 = "hello"; 
      string str2 = str1; 
      Console.WriteLine("str1=" + str1); 
      Console.WriteLine("str2=" + str2); 
      str1 = "after"; 
      Console.WriteLine("str1=" + str1); 
      Console.WriteLine("str2=" + str2); 
      Console.ReadLine(); 
  
    } 
  } 
}

输出的结果为:

 

从输出的结果来看:在修改一个字符串的时候,实际上是创建了一个新的字符串,而并非修改了原来的字符串。

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • C#中实现可变参数实例

    C#中实现可变参数实例

    这篇文章主要介绍了C#中实现可变参数实例,本文演示使用params 实现可变数量的参数,并且这些参数的类型可以不同,需要的朋友可以参考下
    2015-01-01
  • C#端口转发用法详解

    C#端口转发用法详解

    这篇文章主要介绍了C#端口转发用法,以实例形式较为详细的分析了C#实现端口转发的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C#实现简单获取扫码枪信息代码

    C#实现简单获取扫码枪信息代码

    本文给大家分享的是使用C#实现简单获取扫码枪信息代码,非常的简单实用,有需要的小伙伴可以参考下。
    2016-07-07
  • WPF实现动画效果(四)之缓动函数

    WPF实现动画效果(四)之缓动函数

    这篇文章介绍了WPF实现动画效果之缓动函数,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#中实现向数组中动态添加元素

    C#中实现向数组中动态添加元素

    这篇文章主要介绍了C#中实现向数组中动态添加元素方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • C#使用udp如何实现消息的接收和发送

    C#使用udp如何实现消息的接收和发送

    这篇文章主要介绍了C#使用udp如何实现消息的接收和发送问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Base64编码解码原理及C#编程实例

    Base64编码解码原理及C#编程实例

    这篇文章主要介绍了Base64编码解码原理及C#编程实例,本文讲解了Base64编码由来、Base64编码原理、C#编程实现,需要的朋友可以参考下
    2014-10-10
  • c#中task与thread的区别及使用讲解

    c#中task与thread的区别及使用讲解

    这篇文章主要介绍了c#中task与thread的区别及使用讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • C#使用Resources资源文件

    C#使用Resources资源文件

    这篇文章介绍了C#使用Resources资源文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 使用代理模式来进行C#设计模式开发的基础教程

    使用代理模式来进行C#设计模式开发的基础教程

    这篇文章主要介绍了使用代理模式来进行C#设计模式开发的基础教程,代理模式主张在客户端和目标对象中间建立中介来降低程序设计的耦合度,需要的朋友可以参考下
    2016-02-02

最新评论