万事皆缘 发表于 2024-6-15 15:35:34

【C#入门超简单】基本的.NET框架概念

一、基本的.NET框架概念

.NET框架是一个由微软开发的软件开发平台,它提供了一个运行时环境(CLR - Common Language Runtime)和一套丰富的类库(FCL - Framework Class Library)。CLR负责管理代码的执行,而FCL则提供了大量预先编写好的代码,供开发者使用。
例子:

想象一下.NET框架是一个大型的超市,CLR是超市的收银系统,确保每件商品(代码)都能正确结算(执行),而FCL就是超市里的商品货架,上面摆满了各种商品(类和方法)供你选择。
使用.NET类库

.NET类库是一组预先构建好的代码集合,它们封装了常见的功能,使得开发者不必从头开始编写所有代码。
例子:

如果你需要进行数学运算,.NET类库中有一个名为System.Math的类,它包含了各种数学函数,比如求平方根:
using System;

class Program
{
    static void Main()
    {
      double result = Math.Sqrt(16); // 使用Math类求平方根
      Console.WriteLine("The square root of 16 is: " + result);
    }
}二、字符串操作

在.NET中,字符串操作是非常常见的任务,涉及到对文本数据的各种处理,比如搜索、替换、分割等。字符串在.NET中是通过System.String类来表示的,这个类提供了丰富的方法来进行各种操作。
1. 创建和连接字符串


[*]创建字符串:直接使用双引号创建字符串。
[*]连接字符串:可以使用+操作符或者String.Concat方法来连接字符串。
string name = "张三";// 创建字符串
string greeting = "你好, " + name + "!";// 连接字符串
Console.WriteLine(greeting);// 输出:你好, 张三!2. 字符串的基本操作


[*]长度:使用Length属性获取字符串的长度。
[*]访问字符:使用索引访问字符串中的单个字符。
string example = "Hello";
int length = example.Length;// 获取长度,结果为5
char firstChar = example;// 获取第一个字符,结果为'H'3. 查找和替换


[*]查找子字符串:使用IndexOf方法查找子字符串在主字符串中的位置。
[*]替换内容:使用Replace方法替换字符串中的内容。
string sentence = "我爱编程,编程使我快乐。";
int index = sentence.IndexOf("编程");// 查找"编程"的位置,结果为2
string newSentence = sentence.Replace("编程", "画画");// 将"编程"替换为"画画"
Console.WriteLine(newSentence);// 输出:我爱画画,画画使我快乐。4. 分割字符串


[*]分割:使用Split方法根据指定的分隔符将字符串分割成多个部分。
string fruits = "苹果,香蕉,橘子";
string[] fruitArray = fruits.Split(',');// 使用逗号分割字符串
foreach (string fruit in fruitArray)
{
    Console.WriteLine(fruit);// 依次输出:苹果 香蕉 橘子
}5. 字符串的修改

字符串在.NET中是不可变的,意味着一旦创建,其内容就不能改变。如果需要修改字符串,实际上是创建了一个新的字符串对象。
string original = "Hello";
string modified = original + " World";// 创建了一个新的字符串"Hello World"
Console.WriteLine(modified);// 输出:Hello World6. 格式化字符串


[*]格式化:使用String.Format或插值字符串来格式化字符串。
int age = 30;
string formatted = String.Format("他的年龄是{0}岁。", age);// 使用String.Format格式化
string interpolated = $"他的年龄是{age}岁。";// 使用字符串插值
Console.WriteLine(formatted);// 输出:他的年龄是30岁。
Console.WriteLine(interpolated);// 输出:他的年龄是30岁。以上就是.NET中进行字符串操作的一些基本方法和例子,字符串操作是非常重要的一个知识点,这里篇幅有限就不展开说了,下次专门开一篇讲字符串操作,先挖个坑,哈哈哈。
三、集合框架

在.NET中,集合框架是一组用于存储和管理数据的类和接口。这些集合类帮助我们组织数据,使数据的添加、删除、遍历和搜索等操作更加方便和高效。它包括列表(List)、字典(Dictionary)、队列(Queue)、栈(Stack)等。
List

List是一个动态数组,可以存储任何类型的元素,并允许添加、删除和访问元素。
例子:

using System.Collections.Generic;

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; // 初始化List
numbers.Add(6); // 添加元素
int lastNumber = numbers; // 访问元素
numbers.RemoveAt(2); // 删除特定位置的元素Dictionary

Dictionary就像是一个电话簿,你可以用一个键(比如人名)来查找对应的值(比如电话号码)。
例子:

Dictionary<string, int> phoneBook = new Dictionary<string, int>();
phoneBook.Add("张三", 1234567890); // 添加键值对
int phoneNumber = phoneBook["张三"]; // 通过键获取值
Console.WriteLine("张三的电话号码是: " + phoneNumber);3. HashSet(集)

HashSet是一种不允许重复元素的集合,它可以用来快速检查某个元素是否存在。
HashSet<string> uniqueNames = new HashSet<string>();// 创建一个HashSet
uniqueNames.Add("张三");// 添加元素
uniqueNames.Add("张三");// 再次添加相同的元素,不会有任何效果

Console.WriteLine(uniqueNames.Count);// 输出元素的数量,结果为14. Queue(队列)

Queue是一种先进先出(FIFO)的集合。元素从队列的一端添加,并从另一端移除。
Queue<string> line = new Queue<string>();// 创建一个队列
line.Enqueue("张三");// 入队
line.Enqueue("李四");

Console.WriteLine(line.Dequeue());// 出队并打印,输出"张三"
Console.WriteLine(line.Dequeue());// 再次出队并打印,输出"李四"5. Stack(栈)

Stack是一种后进先出(LIFO)的集合。元素从栈顶添加,并从栈顶移除。
Stack<string> books = new Stack<string>();// 创建一个栈
books.Push("书籍1");// 入栈
books.Push("书籍2");

Console.WriteLine(books.Pop());// 出栈并打印,输出"书籍2"
Console.WriteLine(books.Pop());// 再次出栈并打印,输出"书籍1"以上就是.NET中常见的几种集合类型的简介和使用示例。通过这些集合类,你可以更有效地管理和操作数据集。
四、文件和流操作

文件操作是程序与文件系统交互的一种方式,流(Stream)是.NET中用于读写数据的抽象概念。在.NET中,文件操作主要涉及到读取、写入、创建和删除文件等操作。这些操作通常通过System.IO命名空间中的类来实现,如File、FileInfo、Directory、DirectoryInfo等。
1. 写入文件

使用File.WriteAllText方法可以创建一个文件,并向其中写入文本。如果文件已存在,这个方法会覆盖原有内容。
// 写入文本到文件
string filePath = "example.txt";
string content = "Hello, this is a test file.";
File.WriteAllText(filePath, content);// 创建文件example.txt,并写入指定的文本内容2. 读取文件

使用File.ReadAllText方法可以读取文件的全部文本内容。
// 从文件读取文本
string readContent = File.ReadAllText(filePath);// 读取example.txt文件的内容
Console.WriteLine(readContent);// 输出文件内容3. 追加文本到文件

使用File.AppendAllText方法可以在文件的末尾追加文本,而不是覆盖原有内容。
// 追加文本到文件
string additionalContent = " Here is some more text.";
File.AppendAllText(filePath, additionalContent);// 在现有文件内容后追加更多文本4. 检查文件是否存在

使用File.Exists方法可以检查指定路径的文件是否存在。
// 检查文件是否存在
bool fileExists = File.Exists(filePath);// 检查example.txt文件是否存在
Console.WriteLine(fileExists ? "文件存在。" : "文件不存在。");5. 删除文件

使用File.Delete方法可以删除指定路径的文件。
// 删除文件
File.Delete(filePath);// 删除example.txt文件6. 使用StreamReader和StreamWriter

对于更复杂的文件操作,如逐行读取或写入大量数据,可以使用StreamReader和StreamWriter。
// 使用StreamWriter写入文件
using (StreamWriter writer = new StreamWriter("example.txt"))
{
    writer.WriteLine("第一行文本");
    writer.WriteLine("第二行文本");
}

// 使用StreamReader读取文件
using (StreamReader reader = new StreamReader("example.txt"))
{
    string line;
    while ((line = reader.ReadLine()) != null)// 逐行读取直到文件末尾
    {
      Console.WriteLine(line);// 输出读取的每一行
    }
}以上就是.NET中进行文件操作的一些基本方法和示例。通过这些方法,你可以轻松地在.NET应用程序中处理文件的读写任务。
流操作还包括二进制流(BinaryReader/BinaryWriter)、网络流(NetworkStream)等,用于不同类型的数据读写。
以上就是.NET框架的一些核心概念和操作。每个知识点都像是构建软件大厦的一块砖,理解并熟练使用它们,你就能构建出功能强大、结构清晰的应用程序。

来源:https://www.cnblogs.com/Jason54/p/18249266
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【C#入门超简单】基本的.NET框架概念