C#变量与数据类型


什么是变量

在C#编程中,变量是用于存储数据的基本单元。你可以把变量想象成一个容器,里面可以存放不同类型的数据,如数字、文本、布尔值等。每个变量都有:

  1. 一个名称(标识符)
  2. 一个数据类型
  3. 一个值

声明变量

在C#中声明变量的基本语法是:

数据类型 变量名;

例如:

int age; // 声明一个整型变量age
string name; // 声明一个字符串变量name

也可以在声明时直接赋值:

int age = 25; // 声明并初始化
string name = "张三";

C#的基本数据类型

C#提供了多种内置数据类型,主要分为以下几类:

1. 整型

用于存储整数:

  • byte:0到255(8位无符号)
  • sbyte:-128到127(8位有符号)
  • short:-32,768到32,767(16位有符号)
  • ushort:0到65,535(16位无符号)
  • int:-2,147,483,648到2,147,483,647(32位有符号)
  • uint:0到4,294,967,295(32位无符号)
  • long:-9,223,372,036,854,775,808到9,223,372,036,854,775,807(64位有符号)
  • ulong:0到18,446,744,073,709,551,615(64位无符号)

2. 浮点型

用于存储带小数点的数字:

  • float:约±1.5×10⁻⁴⁵到±3.4×10³⁸(7位精度)
  • double:约±5.0×10⁻³²⁴到±1.7×10³⁰⁸(15-16位精度)
  • decimal:约±1.0×10⁻²⁸到±7.9×10²⁸(28-29位精度),适用于财务计算

3. 布尔型

  • bool:true或false

4. 字符型

  • char:单个Unicode字符(16位)

5. 字符串

  • string:Unicode字符序列

变量命名规则

在C#中命名变量需要遵循以下规则:

  1. 必须以字母或下划线(_)开头
  2. 后续字符可以是字母、数字或下划线
  3. 不能使用C#关键字(如int、class等)作为变量名
  4. 区分大小写
  5. 推荐使用驼峰命名法(如studentName

类型推断(var关键字)

C#提供了var关键字,允许编译器根据初始值推断变量类型:

var age = 25; // 编译器推断为int
var name = "李四"; // 编译器推断为string
var price = 9.99m; // 编译器推断为decimal

常量(const)

使用const关键字声明不可更改的常量:

const double PI = 3.14159;
const int DaysInWeek = 7;

类型转换

C#中的类型转换分为:

  1. 隐式转换(自动):从小类型到大类型
   int i = 10;
   long l = i; // 自动转换
  1. 显式转换(强制):从大类型到小类型
   double d = 9.78;
   int i = (int)d; // 强制转换,结果为9
  1. 使用Convert类
   string s = "123";
   int i = Convert.ToInt32(s);
  1. Parse和TryParse方法
   string s = "123";
   int i = int.Parse(s);

   // 更安全的TryParse
   if(int.TryParse(s, out int result))
   {
       // 转换成功
   }

示例代码

using System;

class Program
{
    static void Main()
    {
        // 变量声明与初始化
        string studentName = "王五";
        int age = 20;
        double gpa = 3.75;
        bool isGraduated = false;

        // 输出变量值
        Console.WriteLine($"学生姓名: {studentName}");
        Console.WriteLine($"年龄: {age}");
        Console.WriteLine($"平均成绩: {gpa}");
        Console.WriteLine($"是否毕业: {isGraduated}");

        // 类型转换示例
        string input = "1234";
        if(int.TryParse(input, out int number))
        {
            Console.WriteLine($"转换后的数字: {number}");
        }
    }
}

理解C#的变量和数据类型是学习这门语言的基础,掌握这些概念将为你后续学习更复杂的编程概念打下坚实的基础。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注