举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#数据类型 C# 类型

c#数据类型 C# 类型

2023-02-26 22:18 C#教程

c#数据类型 C# 类型

c#数据类型

C# 是一种面向对象的编程语言,它支持多种数据类型,包括基本数据类型、引用数据类型、泛型数据类型以及其他特殊数据类型。C# 中的数据类型可以分为两大类:内部数据类型(内部存储)和外部数据类型(外部存储)。

C# 中的内部数据类型包含了布尔、字节、字符、十进制整形、双浮点、单浮点、长整形以及无限大的定义。这些内部数据类型在 C# 的内存中进行存储,并且在使用时不需要显式声明。

C# 中的外部数据类型包含了字节流、文本文件、图片文件以及其他文件格式。这些外部数据不会直接在 C# 的内存中进行存储,而是通过文件流或者其他方式来读取或者保存到外部文件中。

此外,C# 还有一些特定的特性来定义不同的数据格式。例如,使用 [Flags] 声明来定义位标志体(Bit Flags Enum) 来表达一个成员可能有多项选项的情况。此外,[Serializable] 声明也是一个重要的特性,它能将对象序列化成 XML 样式的文本格式来保存到文件中。

public enum MyEnum { 
    None = 0, 
    Option1 = 1, 
    Option2 = 2, 
    Option3 = 4, 
    Option4 = 8, 
}

C# 类型

C#类型

类型定义值的蓝图。有不同的操作与不同类型相关联。

在下面的示例中,我们使用两个类型为int的常量,值为2 3


static void Main() {
   int x = 2 * 3;
   Console.WriteLine (x); 
} 

int 是一个表示整数值的构建类型。

C#也定义类型,如long,string,byte ...

变量

我们在上面的代码中声明了一个类型为 int 的变量,其名称为 x

变量表示可以包含不同值的内存位置。我们可以为变量赋予不同的值。

相反,常数总是表示相同的值:


const int y = 6; 

相反,常数总是表示相同的值:

C#中的所有值都是类型的实例。


预定义类型示例

预定义类型是编译器支持的类型。

上面示例中的int类型是用于表示整数集合的预定义类型,从-231到231-1。

我们可以执行函数,如与int类型的实例的算术如下:


int x = 2 * 3; 

C#有其他类型。C#type string 表示一个序列字符,如“.NET"。

我们可以通过调用函数来处理字符串,如下所示:


string message = "Hello world"; 
string upperMessage = message.ToUpper(); 
Console.WriteLine (upperMessage); 

上面的代码生成以下结果。


int x = 2; 
message = message + x.ToString(); 
Console.WriteLine (message); 

上面的代码生成以下结果。



值类型与引用类型

所有C#类型分为以下类别:

  • 值类型
  • 引用类型
  • 通用类型参数
  • 指针类型

值类型包括大多数内置类型,例如,int,long,bool以及自定义结构和枚举类型。

引用类型包括所有类,数组,委托和接口类型。它还包括预定义的 string 类型。

值类型

值类型变量或常量的内容是一个值。

我们可以使用 struct 关键字定义一个自定义值类型:


public struct Point { 
    public int X, Y; 
} 

值类型实例的分配始终会复制实例。

例如:


static void Main() { 
    Point p1 = new Point(); 
    p1.X = 1;
    Point p2 = p1; // Assignment causes copy

    Console.WriteLine (p1.X); // 1 
    Console.WriteLine (p2.X); // 1

    p1.X = 2; // Change p1.X

    Console.WriteLine (p1.X); // 2 
    Console.WriteLine (p2.X); // 1 
} 

引用类型

引用类型有两部分:一个对象和对该对象的引用。

引用类型变量的内容是对包含该值的对象的引用。

这里是作为类重写的Point类型:


public class Point { 
   public int X, Y; 
} 

分配引用类型变量会复制引用,而不是对象实例。

这允许多个变量引用同一个对象。


static void Main() { 
    Point p1 = new Point(); 
    p1.X = 1;

    Point p2 = p1; // Copies p1 reference

    Console.WriteLine (p1.X); // 1 
    Console.WriteLine (p2.X); // 1


    p1.X = 2; // Change p1.X

    Console.WriteLine (p1.X); // 2 
    Console.WriteLine (p2.X); // 2 
} 

空值

一个引用可以分配常量null,表示引用指向没有对象:


class Point {...} 

Point p = null; 
Console.WriteLine (p == null); // True 

值类型通常不能为null值:

预定义类型分类法

C#中的预定义类型有:

  • 值类型
    • 数字
    • 有符号整数 (sbyte, short, int, long)
    • 无符号整数 (byte, ushort, uint, ulong)
    • 实数 (float, double, decimal)
    • 逻辑 (bool)
    • 字符 (char)
  • 引用类型
    • String (string)
    • Object (object)

C#别名中的预定义类型System命名空间中的框架类型。

这两个语句之间只有语法上的区别:


int i = 5; 
System.Int32 i = 5; 
阅读全文
以上是编程学为你收集整理的c#数据类型 C# 类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#数字类型 C# 数字类型

    c#数字类型 C# 数字类型

    2023-02-24 C#教程

    C#数字类型C#具有下表中显示的预定义数字类型。有符号整数C#类型系统类型后缀大小范围sbyteSByte无后缀8位-27 〜27-1shortInt...

  • c#算术运算符代理 C# 算术运算符

    c#算术运算符代理 C# 算术运算符

    2023-02-26 C#教程

    C#算术运算符为所有数字类型定义算术运算符(+, - ,*,/,%)。运算符含义+加-减*剩/除%求余自增和自减运算符自增和自减运算...

  • c#数组初始化 C# 数组

    c#数组初始化 C# 数组

    2023-02-24 C#教程

    C#数组数组表示特定类型的固定数量的变量。 在元素类型后面创建一个带方括号的数组。 例如:char[] letterArray = new char[5]; ...

  • c#变量名命名规则 C# 变量

    c#变量名命名规则 C# 变量

    2023-02-27 C#教程

    C#变量变量表示可修改值的存储位置。 变量可以是局部变量,参数,字段或数组元素。 定义赋值C#强制执行明确的赋值策略。 局部...

  • c#参数计数不匹配 C# 参数

    c#参数计数不匹配 C# 参数

    2023-02-26 C#教程

    C#参数方法可以具有参数序列。参数定义必须为该方法提供的参数集。在以下示例中,myMethod方法具有名为p的单个参数,类型为int...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部