当前位置: 首页 > article >正文

C#基础教程

1. C# 基础语法和操作符

C# 中的运算符优先级
namespace OperatorsAppl
{
    class Program7
    {
        static void Main(string[] args)
        {
            int a = 20;  // 定义变量a
            int b = 10;  // 定义变量b
            int c = 15;  // 定义变量c
            int d = 5;  // 定义变量d
            int e;      // 定义变量e

            // 演示运算符优先级,计算 (a + b) * c / d
            e = (a + b) * c / d;
            Console.WriteLine("(a + b) * c / d 的值是 {0}", e);  // 输出结果
            // 更多运算符优先级示例...
        }
    }
}

2. 数据类型和控制结构

C# 中的变量定义和初始化
// C# 中的变量定义和初始化
int i, j, k;   // 定义整型变量i, j, k
char c, ch;   // 定义字符型变量c, ch
float f, salary;  // 定义浮点型变量f, salary
double d;   // 定义双精度浮点型变量d

int d = 3, f = 5;    /* 初始化d和f */
byte z = 22;         /* 初始化z */
double pi = 3.14159; /* 声明pi的近似值 */
char x = 'x';        /* 变量x的值为'x' */
C# 中的控制结构 - 条件语句
// C# 中的条件语句
int a = 10, b = 5;
string result = a > b ? "a大于b" : "a不大于b";  // 使用三元运算符进行条件判断
Console.WriteLine(result);  // 输出结果
C# 中的控制结构 - 循环
// C# 中的循环
for (int i = 0; i < 5; i++)  // for循环,从0到4
{
    Console.WriteLine(i);  // 输出循环变量i的值
}

3. 字符串和数组操作

C# 字符串操作
// C# 字符串操作
string str = "Hello, World!";  // 定义字符串str
Console.WriteLine(str);  // 输出字符串
C# 数组操作
// C# 数组操作
int[] array = new int[5] { 1, 2, 3, 4, 5 };  // 定义并初始化数组
foreach (var item in array)  // 使用foreach循环遍历数组
{
    Console.WriteLine(item);  // 输出数组元素
}

4. 函数和方法

C# 方法的定义和调用
namespace CalculatorApplication
{
    class NumberManipulator
    {
        public int FindMax(int num1, int num2)  // 定义FindMax方法,返回两个整数中的最大值
        {
            return num1 > num2 ? num1 : num2;  // 使用三元运算符返回最大值
        }
        static void Main(string[] args)  // 程序入口点
        {
            NumberManipulator n = new NumberManipulator();  // 创建NumberManipulator实例
            int max = n.FindMax(100, 200);  // 调用FindMax方法
            Console.WriteLine("最大值是: {0}", max);  // 输出结果
        }
    }
}

5. 类和对象

C# 类的定义和对象的创建
namespace BoxApplication
{
    class Box  // 定义Box类
    {
        public double length;  // 定义长度属性
        public double breadth;  // 定义宽度属性
        public double height;  // 定义高度属性
    }
    class BoxTester  // 定义BoxTester类
    {
        static void Main(string[] args)  // 程序入口点
        {
            Box Box1 = new Box();  // 创建Box实例
            Box1.length = 6.0;  // 设置长度
            Box1.breadth = 7.0;  // 设置宽度
            Box1.height = 5.0;  // 设置高度
            Console.WriteLine("Box1 的体积: {0}", Box1.length * Box1.breadth * Box1.height);  // 计算并输出体积
        }
    }
}

6. 继承和多态性

C# 继承
namespace InheritanceApplication
{
    class Shape
    {
        protected int width, height;
        public void setWidth(int w) { width = w; }
        public void setHeight(int h) { height = h; }
    }
    class Rectangle : Shape
    {
        public int getArea() { return width * height; }
    }
    class RectangleTester
    {
        static void Main(string[] args)
        {
            Rectangle Rect = new Rectangle();
            Rect.width = 5;
            Rect.height = 7;
            Console.WriteLine("总面积: {0}", Rect.getArea());
        }
    }
}
C# 多态性
namespace PolymorphismApplication
{
    class Box
    {
        public double length, breadth, height;
        public Box(double l, double b, double h)
        {
            length = l; breadth = b; height = h;
        }
        public double getVolume() { return length * breadth * height; }
    }
    class Tester
    {
        static void Main(string[] args)
        {
            Box Box1 = new Box(6.0, 7.0, 5.0);
            Box Box2 = new Box(12.0, 13.0, 10.0);
            Console.WriteLine("Box1 的体积: {0}", Box1.getVolume());
            Console.WriteLine("Box2 的体积: {0}", Box2.getVolume());
        }
    }
}

7. 接口和抽象类

C# 接口
interface IMyInterface
{
    void MethodToImplement();
}
class InterfaceImplementer : IMyInterface
{
    public void MethodToImplement()
    {
        Console.WriteLine("MethodToImplement() called.");
    }
    static void Main()
    {
        InterfaceImplementer iImp = new InterfaceImplementer();
        iImp.MethodToImplement();
    }
}

8. 异常处理

C# 异常处理
namespace ErrorHandlingApplication
{
    class DivNumbers
    {
        int result;
        DivNumbers() { result = 0; }
        public void division(int num1, int num2)
        {
            try
            {
                result = num1 / num2;
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine("Exception caught: {0}", e);
            }
            finally
            {
                Console.WriteLine("Result: {0}", result);
            }
        }
        static void Main(string[] args)
        {
            DivNumbers d = new DivNumbers();
            d.division(25, 0);
            Console.ReadKey();
        }
    }
}

9. 文件 I/O

C# 文件的输入与输出
using System;
using System.IO;

namespace FileIOApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            for (int i = 1; i <= 20; i++)
            {
                F.WriteByte((byte)i);
            }
            F.Position = 0;
            for (int i = 0; i <= 20; i++)
            {
                Console.Write(F.ReadByte() + " ");
            }
            F.Close();
            Console.ReadKey();
        }
    }
}

10. 正则表达式

C# 正则表达式
using System;
using System.Text.RegularExpressions;

namespace RegExApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = "Hello   World   ";
            string pattern = "\\s+";
            string replacement = " ";
            Regex rgx = new Regex(pattern);
            string result = rgx.Replace(input, replacement);
            Console.WriteLine("Original String: {0}", input);
            Console.WriteLine("Replacement String: {0}", result);
            Console.ReadKey();
        }
    }
}

11. 自定义异常

C# 创建用户自定义异常
using System;

namespace UserDefinedException
{
    public class TempIsZeroException : ApplicationException
    {
        public TempIsZeroException(string message


http://www.kler.cn/a/418802.html

相关文章:

  • 【Oracle11g SQL详解】ORDER BY 子句的排序规则与应用
  • Django Auth的基本使用
  • [MacOS] [kubernetes] MacOS玩转虚拟化最佳实践
  • Elasticsearch ILM 索引生命周期管理讲解与实战
  • Mouser EDI 需求分析
  • JAVA学习-练习试用Java实现“使用while循环计算并输出1到100之间所有偶数的和”
  • OD E卷 - 实现 【虚拟理财游戏】
  • 【青牛科技】电动工具调速控制电路芯片GS069介绍
  • 安装Fcitx5输入框架和输入法自动部署脚本(来自Mark24)-Ubuntu通用
  • D82【python 接口自动化学习】- pytest基础用法
  • 多线程篇-8--线程安全(死锁,常用保障安全的方法,安全容器,原子类,Fork/Join框架等)
  • windows下安装node.js和pnpm
  • YOLO 标注工具 AutoLabel 支持 win mac linux
  • 【Electron学习笔记(三)】Electron的主进程和渲染进程
  • 【论文复现】从零开始搭建图像去雾神经网络
  • 【软考速通笔记】系统架构设计师⑧——系统质量属性与架构评估
  • 14 - Java 面向对象(中级)
  • SqlServer REVERSE字符串值的逆序排序函数
  • 框架学习07 - SpringMVC 其他功能实现
  • Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
  • 线性表-链式描述(C++)
  • 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  • 【C语言】扫雷游戏(一)
  • 火山引擎VeDI在AI+BI领域的演进与实践
  • Web开发基础学习——理解React组件中的根节点
  • 【计网不挂科】计算机网络——<34道经典简述题>特训