C#基础语法:输入输出、结构体与数组操作的实例解析

小鹿同学
小鹿同学
发布时间:2026-10-14 | 3人浏览过
原创

C#语言以其严谨的类型系统和丰富的类库著称,对于初学者而言,掌握基础的输入输出、数据结构定义及基本运算逻辑是入门的关键。本文通过六个典型的简单程序实例,覆盖从控制台交互到内存管理(装箱/拆箱)的核心概念,帮助读者快速建立起对C#语法的直观认识。

结果或目标

通过上述实例的学习,读者将能够编写基本的控制台应用程序,理解变量类型、集合操作以及对象引用的基本行为,为后续学习面向对象编程打下坚实基础。

准备条件

  1. 开发环境:Visual Studio 或 Visual Studio Code,并安装 .NET SDK。
  2. 基础认知:了解什么是命名空间(namespace)、类(class)及主函数(Main)。

真实操作顺序

第1步:掌握基本输入输出

控制台的输入输出是调试和理解程序流程最直接的方式。使用 Console.WriteLine 输出信息,使用 Console.ReadLine 接收用户输入。

操作要点:

  • WriteLine:在控制台写入字符串并换行。
  • ReadLine:阻塞程序直到用户按下回车键,返回输入的字符串。
static void Main(string[] args)
{
    Console.WriteLine("请输入您的名字:");
    string name = Console.ReadLine();
    Console.WriteLine($"欢迎光临, {name}");
    Console.ReadLine(); // 防止窗口立即关闭
}

第2步:理解结构类型 (Struct) 的使用

结构体(Struct)是值类型,适合存储轻量级的数据组合。相比类,结构体更适用于表示如坐标、颜色、学生信息等简单数据实体。

操作要点:

  • 使用 struct 关键字定义。
  • 字段通常标记为 public 以便直接访问。
  • 赋值时需确保属性正确初始化。
using System;

namespace StudentApp
{
    struct Student
    {
        public string StuId;
        public string Name;
        public int Age;
        public int Score;
    }

    class Program
    {
        static void Main(string[] args)
        {
            Student s;
            s.StuId = "09306101";
            s.Name = "小明";
            s.Age = 20;
            s.Score = 95;

            Console.WriteLine($"学号: {s.StuId}, 姓名: {s.Name}, 成绩: {s.Score}");
            Console.ReadLine();
        }
    }
}

第3步:数组操作与极值求解

数组用于存储固定大小的同类型元素。求数组的最大值和最小值是常见的遍历场景,关键在于初始化比较基准并正确遍历。

操作要点:

  • 初始化时设定 max 和 min 为数组第一个元素的值。
  • 从索引 1 开始遍历,逐一比较更新极值。
  • 注意修正拼写错误,如 Console 而非 comsole,以及占位符的正确写法。
static void Main(string[] args)
{
    int[] numbers = { 1, 24, 3, 72, 37, 45, 41, 5, 44, 8 };
    int max = numbers[0];
    int min = numbers[0];

    for (int i = 1; i < numbers.Length; i++)
    {
        if (numbers[i] > max)
            max = numbers[i];
        if (numbers[i] < min)
            min = numbers[i];
    }

    Console.WriteLine($"最大值: {max}");
    Console.WriteLine($"最小值: {min}");
    Console.ReadLine();
}

第4步:String 类的常用方法

string 是 C# 中非常重要的引用类型,提供了丰富的方法来处理文本,如比较、截取、插入等。

操作要点:

  • Compare:用于比较两个字符串是否相等。
  • Substring:截取子串,参数为起始索引和长度。
  • Insert:在指定位置插入新字符串。
  • 注意:原稿中的代码存在多处语法错误(如引号不匹配、方法名拼写错误),以下提供修正后的标准写法。
static void Main(string[] args)
{
    Console.WriteLine("请输入用户名(示例:admin):");
    string input = Console.ReadLine();

    if (string.Compare(input, "admin") == 0)
    {
        string str = "Hello";
        
        // 复制字符串
        string copied = string.Copy(str);
        Console.WriteLine($"复制字符串: {copied}");

        // 截取子串 (从索引3开始,取2个字符)
        string sub = str.Substring(3, 2);
        Console.WriteLine($"字串: {sub}");

        // 插入字符串
        string inserted = str.Insert(1, "XX");
        Console.WriteLine($"插入后: {inserted}");
    }
    else
    {
        Console.WriteLine("用户名错误或未输入。");
    }
    Console.ReadLine();
}

第5步:显式转换与隐式转换

类型转换分为隐式(自动)和显式(强制)。C# 支持从较小范围类型到较大范围类型的隐式转换,反之则需要显式转换。

操作要点:

  • 隐式转换:short 自动转换为 int,不会丢失精度。
  • 显式转换:使用括号 (type) 强制转换,如 long 转 int,若数据超出目标范围可能溢出。
static void Main(string[] args)
{
    // 隐式转换: short -> int
    short sVal = 1234;
    int iVal = sVal; // 自动完成
    Console.WriteLine($"隐式转换结果: {iVal}");

    // 显式转换: long -> int
    long lVal = 12345;
    int iValExplicit = (int)lVal; // 需要强制转换
    Console.WriteLine($"显式转换结果: {iValExplicit}");

    Console.ReadLine();
}

第6步:装箱 (Boxing) 和拆箱 (Unboxing)

这是值类型与引用类型(object)之间相互转换的机制。装箱是将值类型转换为引用类型,拆箱则是逆向过程。

操作要点:

  • 装箱:object obj = intValue;,堆上分配内存。
  • 拆箱:int j = (int)obj;,需强转回具体类型。
static void Main(string[] args)
{
    int i = 123;
    object obj = i; // Boxing: 装箱
    int j = (int)obj; // Unboxing: 拆箱

    Console.WriteLine($"原始值 i={i}");
    Console.WriteLine($"对象引用 obj={obj}");
    Console.WriteLine($"拆箱后 j={j}");
    Console.ReadLine();
}

完成判断

成功编译运行以上所有代码片段,且在控制台能看到预期的输出结果(如正确的最大值、字符串操作结果及类型转换后的数值),即标志着已掌握这些C#基础语法点。

原文有依据的排错

在原提供的草稿代码中,存在若干明显的语法错误和拼写错误,已在上述重构代码中进行修正,主要问题包括:

  • 拼写错误:console 应大写为 Console;mian 应改为 Main;comsole 应为 Console。
  • 语法错误:字符串拼接中混用中英文标点;string.copy 调用方式错误;substring 参数写法不规范。
  • 逻辑缺失:结构体实例化后直接赋值字段是合法的,但在现代C#中推荐使用构造函数或初始化器。

简要总结

C#的基础编程涉及大量的细节规范。初学者务必注意大小写敏感、分号结尾以及类型的严格性。通过练习输入输出、数据结构定义、数组算法、字符串处理和类型转换,可以快速熟悉语言特性。建议在实际开发中使用 Visual Studio 的智能提示功能来避免拼写错误。

以上就是C#基础语法入门代码示例的详细内容,更多关于C#学习进阶的资料请关注本站其它相关文章!
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表