c# Serializable特性有什么作⽤?
12345678910111213141516171819### 1. 标记可序列化Serializable特性用于标记一个类或结构体是可序列化的。序列化是指将对象实例的状态存储到存储媒体(如文件、数据库或内存)的过程,这通常涉及将对象的公共和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再将这些字节流写入数据流。通过标记一个类为Serializable,可以确保类的所有字段(包括私有字段)都可以被序列化,从而避免在序列化过程中出现异常。### 2. 便于数据传输和存储将对象标记为可序列化后,可以轻松地将其状态转换为字节流,以便在网络上传输或保存到文件中。这对于分布式系统、远程调用或数据持久化等场景非常有用。例如,在Web服务中,服务端可能需要将对象序列化为JSON或XML格式,然后通过网络发送给客户端;或者,在桌面应用程序中,可能需要将用户数据序列化为二进制格式并保存到硬盘上。### 3. 支持反序列化与序列化相对应的是反序列化,即将存储媒体中的字节流转换回对象实例的过程。当对象被反序列化时,将重新创建该类的一个实例,并自 ...
在 C# 中,保留浮点数的小数位数1. 使用 Math.Round 方法Math.Round 方法可以将浮点数四舍五入到指定的小数位数:
123double number = 3.14159;double roundedNumber = Math.Round(number, 2); // 保留两位小数Console.WriteLine(roundedNumber); // 输出: 3.14
2. 使用格式化字符串你可以在输出浮点数时使用格式化字符串来控制小数位数:
使用标准格式12double number = 3.14159;Console.WriteLine(number.ToString("F2")); // 输出: 3.14
"F2" 表示浮点数格式,保留两位小数。
使用插值字符串(C# 6.0 及更高版本)12double number = 3.14159;Console.WriteLine($"{number:F2}"); // 输出: 3.14
使用 String.Format123 ...
Dictionary和Hashtable1,键只能是唯一的,值可以重复2,使用Add添加如果有键了会报错,但是可以根据索引添加3,使用键找到值添加,如果有了会覆盖掉4,在键值对集合中是根据键去找值的
12345678910111213141516Hashtable ht = new Hashtable();//类型不固定ht.Add(1, "张三");ht.Add(2, true);ht.Add(3, '男');ht.Add(false, "错误的");ht[1] = "把张三干掉"; foreach (var i in ht){ Console.WriteLine(i);}Dictionary<int, string> dic = new Dictionary<int, string>();//类型固定foreach (KeyValuePair<int, string> item in dic)//通过键值对遍历{ ...
数组Array Array.ForEach :用于对数组中的每个元素执行指定的操作。这个方法接受两个参数:
数组:要操作的数组。
操作:一个 Action<T> 委托,表示对每个元素执行的操作。
123int[] numbers = { 1, 2, 3, 4, 5 };// 对每个元素执行操作,打印每个元素Array.ForEach(numbers, n => Console.WriteLine(n));
**Array.Copy**:将数组的一部分复制到另一个数组中。
123int[] source = { 1, 2, 3, 4, 5 };int[] destination = new int[3];Array.Copy(source, 1, destination, 0, 3); // 复制从索引1开始的3个元素
**Array.Sort**:对数组中的元素进行排序。
12int[] numbers = { 5, 3, 1, 4, 2 };Array.Sort(numbers); // 排序后的结 ...
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment