📜  c# (1)

📅  最后修改于: 2023-12-03 14:39:42.149000             🧑  作者: Mango

C# 简介

简介

C# 是一种简单、现代、面向对象的编程语言,由微软公司开发。它是一种通用语言,可用于开发各种应用程序,如 Windows 客户端、Web 应用程序、安卓及 iOS 应用程序等。C# 的设计理念是协助程序员编写可靠和可维护性高的程序。

以下是 C# 的一些特性:

  • 拥有强类型,保证类型安全性
  • 面向对象的编程风格,可以使用继承、多态、封装等
  • 具有单一继承,但可以实现多个接口
  • 内置的垃圾回收器,自动释放内存
  • 支持高级数据结构,如泛型和集合
C# 的历史

C# 开始于 2000 年,最初由微软公司的Anders Hejlsberg领导的团队设计和开发。它的目标是为了提供一种更好的开发平台,并取代 C++ 和 Java 等语言。其名称中的 '#' 标志着其在 Microsoft .NET 平台中的定位。

自从 C# 的推出,其已经发展成为一个被广泛采用的编程语言,并成为了几乎全部 .NET 相关开发的标配。

C# 基础

C#是一种静态类型语言,必须在编译时指定变量的类型。以下是一个简单的 C# 程序:

using System;
class Hello
{
  static void Main()
  {
    Console.WriteLine("Hello, World!");
  }
}

这个程序通过 Console.WriteLine 输出 “Hello, World!” 到终端上。

C# 进阶

以下是一些进阶主题:

对象

C# 是一种面向对象的语言,它支持继承、多态、封装等特性。对象是 C# 的基础,可以创建自定义对象或使用内置对象,如 stringList<T>

class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Person(string firstName, string lastName) {
        FirstName = firstName;
        LastName = lastName;
    }

    public override string ToString() {
        return $"{FirstName} {LastName}";
    }
}

Person person = new Person("John", "Doe");
Console.WriteLine(person);
泛型

C# 支持泛型类、泛型接口和泛型方法。泛型可以使代码更加灵活和可重用。

public class Stack<T> {
    private T[] _items = new T[100];
    private int _count = 0;

    public void Push(T item) {
        _items[_count++] = item;
    }

    public T Pop() {
        return _items[--_count];
    }
}

Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
Console.WriteLine(stack.Pop()); // 输出 2
异常处理

C# 支持异常处理,可以在程序运行期间捕获和处理异常。

try {
    int x = 0;
    int y = 1 / x;
} catch (DivideByZeroException ex) {
    Console.WriteLine($"Error: {ex.Message}");
}
LINQ

LINQ 是 C# 中的一个强大的特性,它可以将对象、数据库等转换成序列,再对序列进行查询和操作。

int[] numbers = { 1, 2, 3, 4, 5 };
var result = from n in numbers
             where n % 2 == 0
             select n * n;

foreach (var n in result) {
    Console.WriteLine(n);
}
总结

C# 是一种广泛使用的编程语言,它可以用于各种应用程序开发,如桌面应用程序、Web 应用程序、移动应用程序等。C# 拥有许多强大的特性,如面向对象编程、泛型、异常处理、LINQ 等,使得开发人员可以编写可靠和可维护性高的程序。