C# 语言入门基础介绍

C# 语言入门基础介绍

C# 是一种通用、面向对象的编程语言,由微软公司开发,广泛应用于业界。在学习 C# 之前,需要了解一些基本的编程概念。

1. C# 语言的特点

C# 语言具有以下特点:

  • 易于学习:语法简单,与其他语言相比较易于理解。
  • 安全性高:内置类型检查和内存管理机制确保程序的稳定和安全。
  • 面向对象:支持面向对象编程,便于开发大型应用程序。
  • 多平台支持:支持在 Windows、Linux 和 macOS 等多种平台上运行。

2. C# 语言的基本语法

2.1 变量和类型

C# 是一种静态类型语言,声明变量时需要指定其类型。常用的类型有 int、double、bool 和 string 等。变量可以通过赋值语句来改变其值,如下所示:

int x = 10;
double y = 3.14;
bool flag = true;
string str = "Hello, world!";

2.2 运算符

C# 支持各种常见的运算符,如加、减、乘、除、模等,也支持比较运算符和逻辑运算符。例如:

int a = 10;
int b = 5;
int c = a + b; // 结果为 15
bool flag = a > b && b < 0; // 结果为 false

2.3 控制结构

C# 支持 if-else、for、while、do-while 和 switch 等常见的控制结构。示例如下:

int score = 90;
if (score >= 60)
{
    Console.WriteLine("及格了!");
}
else
{
    Console.WriteLine("不及格!");
}

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("第 " + i + " 次循环");
}

int j = 0;
while (j < 10)
{
    j++;
    if (j == 5)
        break;
    Console.WriteLine(j);
}

int k = 5;
switch (k)
{
    case 1:
        Console.WriteLine("数字是 1");
        break;
    case 2:
        Console.WriteLine("数字是 2");
        break;
    default:
        Console.WriteLine("数字是其他值");
        break;
}

3. C# 语言的面向对象特性

C# 是一种面向对象的语言,支持封装、继承和多态等特性。

3.1 类和对象

C# 中,类是一种结构化的数据类型,由属性和方法构成。例如,下面定义了一个名为 Person 的类:

class Person
{
    private string name;
    private int age;

    public void SetName(string name)
    {
        this.name = name;
    }

    public string GetName()
    {
        return this.name;
    }

    public void SetAge(int age)
    {
        this.age = age;
    }

    public int GetAge()
    {
        return this.age;
    }
}

通过这个类,可以创建一个名为 p 的对象,并设置其姓名和年龄:

Person p = new Person();
p.SetName("Tom");
p.SetAge(18);

3.2 继承和多态

在 C# 中,可以使用继承来实现代码重用,并通过多态来实现动态调用。例如,下面定义了一个名为 Student 的类,它从 Person 类继承:

class Student : Person
{
    private string school;

    public void SetSchool(string school)
    {
        this.school = school;
    }

    public string GetSchool()
    {
        return this.school;
    }

    public new string GetName()
    {
        return "学生姓名:" + base.GetName();
    }
}

在这个类中,通过 new 关键字实现了方法重写,并添加了一个新的字段 school。

然后,可以创建一个名为 s 的 Student 对象,并调用其方法:

Student s = new Student();
s.SetName("Tom");
s.SetAge(18);
s.SetSchool("清华大学");
Console.WriteLine(s.GetName()); // 输出:学生姓名:Tom

4. 示例

4.1 简单计算器

下面的示例演示了如何实现一个简单的加法计算器。

using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入两个数字:");
            double a, b;
            double.TryParse(Console.ReadLine(), out a);
            double.TryParse(Console.ReadLine(), out b);
            Console.WriteLine("结果是:" + (a + b));
        }
    }
}

4.2 猜数字游戏

下面的示例演示了如何实现一个猜数字游戏。

using System;

namespace GuessNumber
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rand = new Random();
            int number = rand.Next(1, 101);
            int guess;
            do
            {
                Console.WriteLine("请猜一个数字(1-100):");
                int.TryParse(Console.ReadLine(), out guess);
                if (guess < number)
                    Console.WriteLine("猜小了!");
                else if (guess > number)
                    Console.WriteLine("猜大了!");
            } while (guess != number);
            Console.WriteLine("猜对了!");
        }
    }
}

总结

本文介绍了 C# 语言的基本语法和面向对象特性,并演示了两个示例。希望这些内容能够帮助读者快速了解 C# 编程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 语言入门基础介绍 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java接口中尽量避免使用数组

    Java接口是一种定义方法签名的语法机制,虽然接口中也可以定义属性,但是定义属性的意义不是很大,因为接口中定义的属性默认都是常量,并且在接口实现类中无法修改。在接口中定义方法时,实现类中必须实现接口中定义的所有方法。在这种情况下,如果接口中使用数组,将会带来一系列问题。接下来,将为大家讲解“Java接口中尽量避免使用数组”的完整攻略。 为什么Java接口中尽…

    Java 2023年5月26日
    00
  • Springboot WebFlux集成Spring Security实现JWT认证的示例

    下面是关于“Springboot WebFlux集成Spring Security实现JWT认证的示例”的完整攻略。 一、简介 在开始之前,先简单介绍一下SpringBoot和SpringSecurity。 SpringBoot:是Spring官方提供的一个快速开发框架,它能够极大地简化项目的搭建和配置,提高开发效率。 SpringSecurity:是Spr…

    Java 2023年5月20日
    00
  • 如何运行SpringBoot项目的方法

    如何运行Spring Boot项目的方法 Spring Boot是一个非常流行的Java开发框架,它提供了多种运行方式,包括命令行、Maven插件、Gradle插件等。本文将详细介绍如何运行Spring Boot项目的方法,包括命令行、Maven插件、Gradle插件等。 1. 命令行 使用命令行运行Spring Boot项目是最简单的方法。我们只需要在项目…

    Java 2023年5月14日
    00
  • Java掩码的几种使用例举

    Java掩码的几种使用例举 在Java中,掩码的主要作用是用来过滤或者匹配不同的字节位。掩码是用位运算符来创建的。在Java中,我们可以使用按位与、或、异或等位运算符来创建掩码。 按位与掩码 按位与掩码是将每个位分别与操作数进行运算,返回新的结果。当操作数均为1的时候,该位的掩码返回1,否则返回0。在Java中,我们可以使用“&”符号来表示按位与掩码…

    Java 2023年5月29日
    00
  • 基于Class.forName()用法及说明

    下面我来为你详细讲解“基于Class.forName()用法及说明”的完整攻略。 什么是Class.forName()方法? 在Java中,Class.forName()方法是一种加载Class对象的方式。注意,它并不是使用了一个类,而是将它加载到JVM中,使其代码可以被执行。通过使用该方法,我们可以动态的创建对象、使用反射等功能。 Class.forNam…

    Java 2023年6月15日
    00
  • 使用JVM常用GC日志打印参数

    使用JVM常用GC日志打印参数的攻略如下: 1. 为何需要 GC 日志? 在应用程序运行时,JVM 会管理内存。当内存不足时,JVM 需要回收一些不再使用的对象,以释放内存空间,这个过程被称为垃圾回收(GC)。 监控和调优垃圾回收是一项非常重要的任务。为了实现这个任务,JVM 提供了一种功能,即输出 GC 日志。通过观察 GC 日志,我们可以获取关于堆的使用…

    Java 2023年5月26日
    00
  • Java获取e.printStackTrace()打印的信息方式

    Java中,当我们捕获到异常时,通常会使用e.printStackTrace()方法打印出异常信息,以便我们在调试程序时能够更方便地知道程序出现了哪些问题。接下来是详细讲解如何获取e.printStackTrace()打印的信息的完整攻略。 获取e.printStackTrace()打印的信息 当程序出现异常时,如果使用e.printStackTrace()…

    Java 2023年5月26日
    00
  • Eclipse与MySQL数据库的连接教程(已实操)

    Eclipse与MySQL数据库的连接教程包括以下步骤: 步骤1:下载安装Eclipse 首先需要从Eclipse官方网站下载最新版本的Eclipse IDE包,并进行安装。在安装时需要选择Java开发工具包(JDK)以便进行Java项目的开发。 步骤2:下载安装MySQL数据库 可从MySQL官网下载最新版本的MySQL数据库,并进行安装。在安装时要注意设…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部