亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

精通C#变量与基础数据类型:完整指南

C#变量与(基础)数据类型

本教程学习变量、如何在C#中创建变量,以及C#编程语言支持的不同数据类型。

变量是赋予内存位置的符号名称。变量用于在计算机程序中存储数据。


如何在C#中声明变量?

这是在C#中声明变量的示例。

int age;

此例声明一个类型为int(整数)的变量age,只能存储整数值。

稍后在程序中可赋值:

int age; ... ... ... age = 24;

也可在声明时初始化:

int age = 24;

此处声明int类型变量age并同时初始化为24。

因为是变量,值可改变:

int age = 24; age = 35;

age值从24变为35。


C#变量使用前必须声明。即变量名与类型必须在赋值前已知。这也是C#称为静态类型语言的原因。

声明后,变量数据类型在作用域内不可改变。作用域可视为变量可见或可用的代码块。若不理解勿虑,后续章节将讲解作用域。

暂记:C#中不能这样做:

int age; age = 24; ... ... ... float age;

隐式类型变量

C#中也可用var关键字在不知类型情况下声明变量。此类变量称隐式类型局部变量。

用var声明的变量必须在声明时初始化。

var value = 5;

编译器从赋值推断变量类型。上例中value类型为int。等价于:

int value; value = 5;

可深入了解隐式类型局部变量。


C#变量命名规则

命名变量需遵循规则:

  1. 变量名仅能含字母(大小写)、下划线(_)、数字。
  2. 必须以字母、下划线或@符号开头。例如:
    C#变量命名规则
    变量名说明
    name合法
    subject101合法
    _age合法(私有成员变量命名最佳实践)
    @break合法(名为保留关键字时使用)
    101subject非法(数字开头)
    your_name合法
    your name非法(含空格)
  3. C#区分大小写。age与Age是两个不同变量。
  4. 变量名不能是C#关键字。如if、for、using不可作变量名。下节将详述关键字。

变量命名最佳实践

  1. 选择有意义名称。如name、age、subject优于n、a、s。
  2. 局部变量用camelCase(小写开头)。如numberOfStudents、age。
  3. 公共成员变量用PascalCase或CamelCase(大写开头)。如FirstName、Price。
  4. 私有成员变量用下划线前缀+camelCase。如_bankBalance、_emailAddress。

可查阅C#命名约定深入了解。公共/私有成员变量后续章节讲解。


C#基础数据类型

C#变量大致分值类型与引用类型。本教程讨论基础(简单)数据类型,属于值类型子类。

引用类型后续教程覆盖。若想了解变量类型,访问C#类型与变量(官方文档)。

布尔型

示例:

using System;
namespace DataType
{
    class BooleanExample
    {
        public static void Main(string[] args)
        {
            bool isValid = true;
            Console.WriteLine(isValid);
        }
    }
}

运行输出:

True

有符号整型

存储整数(正负均可)。可用位中一位作符号位。

1. sbyte

示例:

using System;
namespace DataType
{
    class SByteExample
    {
        public static void Main(string[] args)
        {
            sbyte level = 23;
            Console.WriteLine(level);
        }
    }
}

输出:

23

尝试赋超范围值(<-128或>127)观察结果。


2. short

示例:

using System;
namespace DataType
{
    class ShortExample
    {
        public static void Main(string[] args)
        {
            short value = -1109;
            Console.WriteLine(value);
        }
    }
}

输出:

-1109

3. int

示例:

using System;
namespace DataType
{
    class IntExample
    {
        public static void Main(string[] args)
        {
            int score = 51092;
            Console.WriteLine(score);
        }
    }
}

输出:

51092

4. long

示例:

using System;
namespace DataType
{
    class LongExample
    {
        public static void Main(string[] args)
        {
            long range = -7091821871L;
            Console.WriteLine(range);
        }
    }
}

输出:

-7091821871

无符号整型

仅存储≥0值。确定无负值时使用。

1. byte

示例:

using System;
namespace DataType
{
    class ByteExample
    {
        public static void Main(string[] args)
        {
            byte age = 62;
            Console.WriteLine(age);
        }
    }
}

输出:

62

2. ushort

示例:

using System;
namespace DataType
{
    class UShortExample
    {
        public static void Main(string[] args)
        {
            ushort value = 42019;
            Console.WriteLine(value);
        }
    }
}

输出:

42019

3. uint

示例:

using System;
namespace DataType
{
    class UIntExample
    {
        public static void Main(string[] args)
        {
            uint totalScore = 1151092;
            Console.WriteLine(totalScore);
        }
    }
}

输出:

1151092

4. ulong

示例:

using System;
namespace DataType
{
    class ULongExample
    {
        public static void Main(string[] args)
        {
            ulong range = 17091821871L;
            Console.WriteLine(range);
        }
    }
}

输出:

17091821871

浮点型

存储含小数数值,如12.36、-92.17等。

1. float

示例:

using System;
namespace DataType
{
    class FloatExample
    {
        public static void Main(string[] args)
        {
            float number = 43.27F;
            Console.WriteLine(number);
        }
    }
}

输出:

43.27

2. double

示例:

using System;
namespace DataType
{
    class DoubleExample
    {
        public static void Main(string[] args)
        {
            double value = -11092.53D;
            Console.WriteLine(value);
        }
    }
}

输出:

-11092.53

字符型

示例:

using System;
namespace DataType
{
    class CharExample
    {
        public static void Main(string[] args)
        {
            char ch1 ='\u0042';
            char ch2 = 'x';
            Console.WriteLine(ch1);
            Console.WriteLine(ch2);
        }
    }
}

输出:

B x

'B'的Unicode值为'\u0042',故打印ch1输出'B'。


十进制型

示例:

using System;
namespace DataType
{
    class DecimalExample
    {
        public static void Main(string[] args)
        {
            decimal bankBalance = 53005.25M;
            Console.WriteLine(bankBalance);
        }
    }
}

输出:

53005.25

必须在末尾加M或m后缀,否则视为double报错。


C#字面量

观察语句:

int number = 41;

此处,

字面量是程序中直接出现的固定值,无需计算。如5、false、'w'直接出现无计算。


布尔字面量

示例:

bool isValid = true; bool isPresent = false;

整数字面量


浮点字面量


字符与字符串字面量

C语言

  1. 掌握 C++ 变量、字面量与常量:核心概念与实战指南
  2. 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
  3. C 语言变量、常量与字面量完全指南
  4. C 语言数据类型详解:int、float、char 等核心类型完全指南
  5. C 语言存储类完全解析:auto、extern、static、register
  6. C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南
  7. C 语言数据类型完全指南:整型、浮点型、void 与派生类型
  8. C 语言变量详解:类型、命名规则、定义声明与内存管理
  9. 精通Python数据类型:实战指南
  10. Java 变量与字面量:全面指南
  11. Java 基本数据类型:8 大类型完整指南与示例
  12. 理解 Java 变量类型:综合指南