|
一、基本的.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[0]; // 获取第一个字符,结果为'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 World
复制代码 6. 格式化字符串
- 格式化:使用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.Count - 1]; // 访问元素
- 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); // 输出元素的数量,结果为1
复制代码 4. 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】 我们会及时删除侵权内容,谢谢合作! |
|