自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (15)
  • 收藏
  • 关注

原创 深度探索ChatGPT:如何进行专业提问以获取精确答案

在这篇文章中,我们将探讨如何充分利用ChatGPT进行专业交流。通过针对性的提问、使用专业术语、提供上下文背景以及利用结构化的提问方法,我们可以更好地与ChatGPT互动,并获得更深入、更专业的答案。如果你对提升与ChatGPT的交流能力感兴趣,不妨来阅读本篇博客,获取更多有用的策略和实用的案例!

2023-08-17 20:49:42 1312 1

原创 C# dictionary中键值对顺序问题

在项目中遇到一个BUG,发现是因为通过dictionary的Add方法,删除再添加键值对后,并不一定是添加到最后一个位置的,导致在遍历字典时,不能获取预期顺序的数据。当然,涉及到顺序问题使用dictionary是不友好的,最好是使用List;另外还有百度到的sorteddictionary可以使用,但是我的键(key)不合适.但是我代码已经基本完成,没时间进行大的修改了,如何处理呢?使用以下方法,新建一个字典对象,并将原有字典存储。然后需要用到的字典dic_Form重新new一下,重新逐个添加原有键

2022-04-06 17:26:58 2570

原创 VS2019中设计器不显示,只显示代码

在一次更新NUGET包后,Form设计器界面不显示了,只显示绿色的代码原来是因为我窗体有继承一个父窗体1.将父窗体类名字删除,保存。2.再重新将名字写上,保存。OK,设计器恢复使用不知道这是是不是VS2019的一个BUG。如果帮到了你,请点个赞吧...

2022-03-16 14:53:55 3213

原创 winform加载和关闭时事件执行顺序

一、以下是加载次序当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件:System.Windows.Forms.Control.HandleCreatedSystem.Windows.Forms.Control.BindingContextChangedSystem.Windows.Forms.Form.LoadSystem.Windows.Forms.Control.VisibleChangedSystem.Windows.Forms.Form.Activated

2022-03-16 10:22:56 898

原创 winform多个子窗体参数保存以及重新加载的方法(C#)

背景:在winform设计中,会遇到一个主窗体对多个不同的子窗体的加载管理,其中一个要求是在重新打开软件加载原有的子窗体时,各个子窗体的用户参数能否重新加载。在网上没有找到成套的公开方案,于是自己做了一整套的方法。一、准备工作1.引用SettingsProviderNet或者直接安装其NUGET包2.创建窗体参数类FormPara,各个参数可以用不同的属性来表示,方便后续拓展。如果是多个类似的窗体,为方便拓展,也可以定义个接口,然后分别实现各个窗体子类二、获取各个子窗体参数1.在各个子窗体类中

2022-03-11 16:50:25 2847

原创 winform继承窗体后子窗体不能使用设计器显示的问题

winform继承窗体后子窗体不能使用设计器显示的问题针对这个问题:第一点:继承的父窗体类不能使用抽象类如果有抽象类即将抽象类改为普通类,需要实现的抽象方法改为虚方法第二点:屏蔽掉父窗体类的控件初始化方法,即//InitializeComponent();第三点:注意前两点修改完成后,关闭所有窗体,重新编译与网上百度到的跟平台有关系啊什么的毫无作用,目前使用的是VS2019如有疑问,欢迎留言讨论...

2022-03-02 17:40:09 1562

原创 winform控件tooltiptext不显示问题

注意使用的控件是否是toolstrip或者是menustrip等集合控件需要将整个控件的ShowItemsToolTips属性,设置为True,然后子控件才能显示对应的tooltip

2022-02-21 12:28:17 1305

原创 The designer cannot be shown because the document for it was never loaded.解决办法

VS工程打开后,打开UI设计界面时有时会出现这样的报错The designer cannot be shown because the document for it was never loaded自己很慌,以为代码丢了解决办法:1.关闭工程中打开的所有代码界面就是右上角这样的界面2.工程名称上方右键“clean”,我的界面英文的,中文应该是清理的意思3.工程名称右键“Build”一下4.重新打开UI界面,OK,问题解决啦!遇事不要慌,肯定有办法,如果这篇文章能帮到你给点个赞或者打赏一

2021-11-06 10:08:28 1882 1

原创 C#winform软件长时间运行后无响应问题解决

问题现象:软件长期运行后,再点击软件无响应,此时CPU占用率较高,只能通过任务管理器强行关闭解决过程:一、Dump文件存储1.首先保证C#工程版本编译后不要动,将生成的EXE拿去测试,复现问题;2.复现问题后,通过任务管理器右键存DUMP文件二、通过VS2019分析DUMP文件1.将DUMP文件放回到原来保存的工程中DEBUG目录下生成的EXE文件原有目录下(为了保证PDB文件和exe和dump同一目录)2.使用VS打开DUMP文件3.打开后直接点击右侧DEBUG后,关闭调试4.在solu

2021-10-27 11:23:44 6887

原创 使用stylecop 规范C#编码

可直接在VS操作完成,简单易懂第一步,打开VS第二步,安装软件第三步,规则修改第四步,规则生效stylecop 是代码静态检查分析的一大利器,可以自定义检查规则,安装操作使用方便,相信很多写C#的朋友都会使用的到下面详细介绍安装以及规则修改的使用步骤第一步,打开VS使用VS打开你所要检查的解决方案或者工程,我使用的是VS2019,打开后在右上角界面有个search输入框第二步,安装软件1.在search输入框中输入nuget,如下图所示选择manage nuget packges2.接着选择

2021-10-23 11:35:10 508 1

原创 如何在C#代码中找到高耗时的操作-UDP接收数据慢问题

办法:逐个屏蔽代码查找先屏蔽大的块,再逐步深入,我遇到的UDP接收不到数据的问题,不是因为接收部分产生了大的耗时,是因为上一次UDP收到后的写入文件操作耗时,导致影响到下一次切换到接收回调,现象就是,UDP收不到下一包数据,收不到下下包数据。。。。。...

2021-08-14 10:54:36 780

原创 面向对象堆栈理解

堆存对象,栈存变量如下图:1.对象有三个属性,地址,类型和值,对象存在堆(heap)中,2.变量存在栈中,不同变量可以指向同一个对象也可以指向多个不同对象

2021-04-24 19:04:45 219

原创 C#控件放置的顺序不对怎么办?

想把某个控件后放置,以改变该控件的大小等,可以直接将该控件剪切一下,然后重新粘贴,顺序就会是其他控件顺序之后了如果帮到你,请给点赞吧!!!

2021-03-23 16:07:53 407

原创 C#使用spitter控件分割左右两个panel并可拖动

C#用splitter分割窗口注意事项1、一定要按照顺序拖,即Z次序不能乱2、先拖panel1到from中,设置Dock为left3,拖splitter1到from中,注意千万不能拖到panel1上面,否则会失败!此时splitter1的Dock默认设置为left,设置BorderStyle为FixedSingle。4、拖panel2到from中,设置Dock为Fill即可一定要注意顺序,一定要注意添加的顺序!!!...

2021-02-25 12:31:23 2014

原创 C#限制Textbox文本框的输入内容

选择对应的textbox文本框在该textbox中,选择KeyPress 事件,双击创建一个事件对应的函数在函数中根据你的希望输入如下代码e.Handled = “0123456789ABCDEF\b”.IndexOf(char.ToUpper(e.KeyChar)) < 0;比如我希望要的是16进制的数字和删除按钮,其他的都不能输入你的问题解决了吗?解决了给我点个赞吧!...

2021-01-21 16:45:23 1396

原创 C#如何将textbox中的文本以16进制格式发送

首先认为textbox中的格式本身是HEX格式因为textbox的text属性本身是string类型,需要先将HEX转换成 string类型,传入到textbox.text当中,然后进行发送。假设我们要发送tbx1.Text中的数据转换代码: public static byte[] HexStr2Buf(string hexStr) { hexStr = hexStr.Replace(" ", ""); if ((hexStr.Length % 2)

2021-01-21 09:03:22 3163

原创 python 对列表实现山型排序

首先什么是山型排序,就是把一个列表做中间数值大,两边数值小的样子,假如这个序列如下:5, 1, 6, 2, 7, 14, 12, 19, 16, 30, 17, 27, 22, 26, 28, 31, 25如何排序呢,不多说,直接上代码,封装一个排序文件,定义好排序的类:class Bubble: #类标注 ''' 冒泡排序类 ''' def __init__(self): ''' 初始化函数 ''' pass def sort_from_big(self, lst):

2020-12-22 22:42:01 401

原创 print打印<class ‘__main__.CPU‘>

学习深拷贝浅拷贝相关内容时,想要将对象的地址都打印出来,查看拷贝后是否是同一个对象,代码如下:import copyclass MobilePhone: def __init__(self,cpu,screen): self.cpu = cpu self.screen = screenclass CPU: def caculate(self): print("算你个头") print("CPU对象:",self)c

2020-12-19 16:47:02 880 1

原创 打印__main__.Person object at 0x002CC550

在学习python特殊方法的重载时,遇到这个问题,就是想要打印的内容没打印出来,却打印出来了main.Person object at 0x002CC550 这么一串内容代码如下:class Person: def __init__(self,name): self.name = name def __add__(self, other): if isinstance(other,Person): print("{0}----{

2020-12-16 23:02:12 1190 1

原创 TypeError: __str__ returned non-string (type NoneType)

初学python以下代码报错标题中的错误:TypeError: str returned non-string (type NoneType)class Person: #基于object类 def __init__(self, name): self.name = name def __str__(self): print("名字是:{0}".format(self.name)) #str返回的用return,不能用print否则会报错s =

2020-12-15 23:07:42 2722

原创 python print打印时出现None

在学习python面向对象知识时,写了如下一行代码,发现在print时总是打印 None,找不出原因:class Employee: # def __init__(self, name, age): # self.name = name # self.age = age __company = "物联网" def __init__(self, name, age): self.name = name self.__a

2020-12-13 23:57:06 5973 2

原创 TypeError: object() takes no parameters解决方法

python学习中以下代码报错TypeError: object() takes no parameters这是初学者学习python时常犯的错误吧class Employee: def _init_(self, name, age): self.name = name self.age = agee = Employee("高老大", 28)print(e.name)print(e.age)就是init少了两个下划线,应该左边右边各两个下划线就能

2020-12-13 23:10:26 1058

原创 append 方法使用后返回 None

append 方法使用后返回 None如下代码:m = str1.append(str2)以上写法是错误的,应该直接写为:str1.append(str2)此时str1中已经增加了str2序列,不能赋值

2020-12-10 22:51:07 351

原创 TypeError: sort_from_big() missing 1 required positional argument: ‘list1‘

在学习python 类对象方面知识的时候,遇到以下错误:TypeError: sort_from_big() missing 1 required positional argument: ‘list1’class Bubble: def sort_from_big(self, list1): #从大到小排列,实例方法 return sorted(list1, reverse=True)m = Bubble()m.sort_from_big()以上代码,调用类的方法

2020-12-10 22:16:07 349

原创 python 函数注释出现 :expected an indented block

如下:def test01(n):‘’‘根据输入的n,打印多个字符 ‘’’print("*"*n)test01(10)help(test01.doc)第二行,函数在注释的时候,没有缩进,也会报错expected an indented block将函数文档字符串进行缩进后,不再报错,问题解决def test01(n):‘’‘根据输入的n,打印多个字符 ‘’’print("*"*n)...

2020-11-25 22:22:14 1642

原创 NOR FLASH 和 NAND FLASH异同

如上图,左边NAND FLASH ,右边 NOR FLASH1.共性A. 都是非易失存储介质。即掉电都不会丢失内容。B. 在写入前都需要擦除。实际上NOR Flash的一个bit可以从1变成0,而要从0变1就要擦除整块。NAND flash都需要擦除。2.特性特性是决定使用哪种Flash的根据,我这里总结出一张表:应用场景在PC和手机上我们都可以找到NOR和NAND Flash的身影。NOR FlashNOR Flash和普通的内存比较像的一点是他们都可以支持随机访问,这使它也具有.

2020-10-26 22:48:02 463

原创 C中如何打开stdio.h ? 如何找到printf的定义?

我是使用的Dev C++这个编译环境,然后写了如何代码#include <stdio.h>int CheckSystem(){ union check { int i; char ch; }c; c.i=1; return(c.ch==1);}int main(){ int a=0; a=CheckSystem(); printf("%d\n",a); return 0;}发现在以上代码块中选择printf函数,然后右键 goto定义,无法go

2020-10-25 23:20:20 2131

原创 C语言中逗号表达式的使用

转自某位大神c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14,(a=35,a4)的值是60,原因在于赋值运算优先级高于逗号表达式。逗号表达式的要领:1.从左到右逐个计算;2.逗号表达式作为一个整体,它的值为最后一个表达式的值;逗号表达式的优先级别在所有运算符中最低。原文出处 https://blog.csdn.net/yqning123/

2020-10-25 10:46:46 2028

原创 C语言指针和数组a与&a,&a[0]等的区别

假如定义一个数组 int a[5]={1,2,3,4,5};a就代表这个数组变量需要记住的是 a等价于&a[0] 都是数组首个元素 a[0]的地址而&a是指的 a整个数组的首地址,虽然二者实际值一致但是代表含义是不同的a+1 表示的是 首个元素的地址加上一个元素的长度,一个元素的长度是一个int类型,也就是a+size of(int)&a+1表示的是整个数组的首地址,加上一个数组的长度,则是 &a+5*size of(int)假设定义一个int *类型的变量i

2020-10-25 10:25:18 1034

原创 C语言大小端模式判断函数

这是自己在DEV C++中编写的大小端模式判断函数,运行后a输出1,应该就是大端模式,但是具体判断原理不是很懂,还需要各位大佬指点迷津。今天是程序员节,祝所有的程序员们每天都有进步,早日住上大别墅,迎娶白富美!#include "stdio.h" int CheckSystem(){ union check { int i; char ch; }c; c.i=1; return(c.ch==1);}void main(){ int a=0; a=CheckSystem

2020-10-24 22:16:30 839

原创 char short int等类型变量在内存中占用字节数

如图,在DEV C++中直接编程,通过sizeof 关键字打印出各个变量类型所占用的字节数可以看到右侧输出结果与左侧代码的对应关系,即:char 1字节;short 2字节;int 4字节 ;long 4字节 ;float 4字节;double 8字节;以后忘记了可以在代码中直接通过sizeof关键字来查看...

2020-09-22 22:40:08 2937 1

原创 地址总线、数据总线、控制总线详细解释

摘自某位大神,共同学习三种总线的相关知识:其中地址总线通过CPU和内存的图示形式表示更方便理解记忆在地址总线和数据总线相同的前提下,32位CPU(数据总线为32位)的最大支持寻址空间为2^32,即最大支持4G内存。这样64位CPU理论最大支持的内存为(232)2 这样是个天文数字了...

2020-09-16 23:31:05 2228

原创 C运算符优先级记忆口诀

摘自网上某位大神,共同学习:初等单目一二级, // 初等运算符和单目运算符分别是第1、2优先级乘除求余加减移, // 这句里面的运算符全归为算术运算符,移表示移位关系等于不等于, // 关系运算符(< <= > >=)按位与来异或或, // 位运算符优先级顺序: & -> ^ -> |逻辑与或条件弱, // 逻辑运算符优先级顺序: && -> ||,后面跟着优先级比较低(弱)的条件运算符赋值逗号一点破。 // 赋值,逗号最低

2020-09-15 22:50:51 317

原创 存储容量与地址空间的计算

比如,告诉你某FLASH存储容量8MB,地址空间范围是m~0xFFFFFFFF,让求m先算出8M对应的16进制数,内存是按照字节编址的,8MB=810241024Byte=2^20*8=16^5 * 8;以上写成16进制数为 0x80 0000求mm=0xFFFFFFFF-0x800000+1=0xFFFFFFFF+1-0x800000=0xFF800000其他的题目,同以上一样的道理,可以算最高地址,也可以根据地址空间范围计算存储容量,还是相对简单的...

2020-09-07 22:38:42 11207

原创 Error: L6200E: Symbol keyflag multiply defined (by main.o and key.o).

Error: L6200E: Symbol keyflag multiply defined (by main.o and key.o).以上错误的主要原因很简单在key.h文件中定义了以下两个变量uint8_t keyflag=0;KEY_STATE keystate=KEY_DETECTED_STATE;并对这两个变量进行了初始化这是不允许的,应该在key.c中定义这两个变量并进行初始化,并在key.h中extern uint8_t keyflag;extern KEY_STATE k

2020-06-21 22:44:14 2836

原创 p[0]作为for循环的判断条件

有如下for循环的例子char s[]=“Hello”;char *p;for(p=s;p[0];++p){cout<<*p}关于上边一段代码,p[0]这个作为判断条件不是很理解大神给讲的是 for(初始操作;判断;判断后操作)其中第二个是判断条件,只要为真,for循环就要继续执行第一次,p=s赋值,则p[0]=s[0], p增长后,p[0]=s[1],后边继续p[0]=s[2],继续,当p[0]=s[6]的时候,此时碰到"\0" 则退出循环了当然p[0]=p=(

2020-06-03 22:25:47 479

原创 编码之前先保证你的硬件稳定连接!!!

最近调试代码时遇到很多坑而这些坑,大部分是硬件没有连接好,连接全等的因。因此给自己制定一条规则,在进行软件编码之前,先把硬件原理弄明白,并且保证硬件连接好,检查可靠,此时再进行编码调试有时因为硬件原因,代码反复调试,耽误非常多的时间,找到原因后又非常的懊悔!以上准则今日起实施时间就是金钱,各位同行请谨记!加油!...

2020-06-03 20:16:54 100 1

原创 SPI调试不成功很有可能是你线接错了!!

因为SPI接线错误,导致SPI调试一周不成功却找不到原因!正确的SPI接线如下:而我这边根据MOSI 和MISO英文意思潜意识认为MO接MI ,MI接MO ,线路接反,导致就是读不出来寄存器参数,各种找原因!!!最后找到原因后非常懊悔,白白浪费一周的时间总结:你潜意识里边认为是对的,不一定是对的,要多去检查,学习质疑自己默认就认为对的事情...

2020-05-18 08:36:29 2321

原创 STM32 SPI 读取数据不准确,只有第一次对,后边均不对

如题:SPI 读取数据不准确,只有第一次对,后边均不对后来发现是STM32 CubeMX把我坑了,我选择了SPI1 NSS功能,以后不能这么选,直接把NSS引脚设置为推挽输出,这样程序中好控制。因为我在CubeMX中把片选引脚初始化为SPI_NSS中了,后续我在代码中读写时对它进行拉高拉低操作不起作用,所以SPI仅在第一次读取数据时有效,其他时间均无效牢记,SPI初始化千万不要选CubeM...

2020-05-07 23:30:44 5260 5

原创 STM32 HAL库 SPI总是读出FF的问题解决!

使用STM32调试SPI时候,发现spi1读芯片总是读出FF1.排除硬件接线原因2.排除供电异常原因3.检查代码各种正确,找不到问题最后发现,原来是!在CubeMX当中,配置SPI时候,选择了NSS当时是这样选择上了,但是没有在SPI选项中使能硬件NSS!如上图,此处忘记使能选择下边这个,SPI引脚变为绿色,使能正常了,后来我发现,可能STM32CubeMX中显示绿色了才...

2020-04-28 23:10:40 8477

MQTT开源库 C#版本 MQTT服务器/客户端实现代码

此为MQTT开源的代码库,例程使用C#控制台程序实现 1.代码中1个是库,1个是例程 2.可以使用例程运行试一下,例程运行后即以127.0.0.1:1883为地址在本地建立一个MQTTbroker,使用其他客户端连接即可 3.代码完全开源,可以修改为自己的MQTT客户端或者服务器 如果此资源对你有用,一定给个五星好评哦。

2023-05-10

软考中级软件设计师讲义

低分可入手,资料详细,复习必备

2023-05-08

非常简单好用的C# TCP类库,强烈推荐

非常简单好用的C# TCP类库,本人做开发已使用多年 1.调用简单 2.开源可自行修改 3.稳定可靠,适合长期使用 如果我的资源对你有帮助,请一定记得给个好评哦!

2023-05-07

C#设计模式例程大全,面向对象设计模式学习新手必备,超级有用

C#设计模式例程大全: 1.readme中详细介绍了各设计模式学习方法 2.各个设计模式单独例程实现 3.如果我分享的资源有用请给我点个赞把

2023-05-07

类似于WIRESHAK的抓包软件,基于C#实现

类似于WIRESHAK的抓包软件,基于C#实现 1.内容开源可移植 2.可用于抓取电脑网卡数据的场景 3.如果对你有帮助请给个好评吧!

2023-05-06

STM32 modbus协议实现例程

方便移植的modbus例程,有文件进行具体的说明,基于C语言实现,如有用请给个好评!

2023-05-06

最快搭建MQTTBroker的软件

双击运行即可在本地电脑搭建完一个MQTTBroker即MQTT代理,大大简化搭建mqtt代理费时费力的问题,有了这个软件,学习搭建MQTT的所有文档都不用看了,其他文章都太费时费力了,本来一个软件就可以搞定的事情哪里需要那么多废话。这个软件方便了学习和测试使用。

2022-06-30

鼠标定时左键单机软件,直接点击exe运行即可,简单好用

运行软件后,将鼠标放置在需要点击的位置,软件会自动控制鼠标每隔5S左键单击一次,可以放在除了电脑下边任务栏以外的任意位置

2022-04-29

C# VS209中stylecop 的使用方法.docx

C#代码分析利器,stylecop的使用方法,方便团队编码规则检查,通俗又完整的操作步骤

2021-10-23

C# 文档msdn.pdf

C#msdn文档,内容非常齐全,堪称C#词典 pdf格式带有书签,可作为C#工具书使用,检索学习方便 本人做C#开发5年常翻阅,各位可根据情况下载使用

2021-10-20

C#委托学习跨窗体操作.zip

C#用委托进行跨窗体操作实例代码,学习或者用于功能实现

2021-10-20

Serial_NET_assistant.zip

C#写的多功能串口、网络调试工具,功能强大,适合新手学习及调试使用的第一个项目

2021-10-20

C#进程获取和管理.zip

C#winform获取和管理电脑进程实例源码,简单修改后可完成一个功能

2021-10-20

C#多线程讲解word文档.docx

C#多线程讲解word文档,内容全面,图示丰富,学习多线程必备手册

2021-10-20

HTTP协议.ppt

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

2020-01-22

嵌入式系统设计师考试笔记(完整整理版).pdf

最全面的软考嵌入式系统设计师学习笔记,背过此文档,软考不用愁,此宝贵资源,欢迎下载学习,可以背过方便考试通过

2020-01-22

CoAP协议详解.ppt

本文档是coap协议详解的PPT,可以当作培训学习使用的教材,内容介绍详细齐全,可以供初学者学习,或者复习使用,coap协议应用范围广,欢迎下载

2020-01-22

Lorawan协议详细说明书(中文版).pdf

本文档描述了 LoRaWAN 网络协议, 是针对电池供电的终端设备 (不管移动还是固定 位置 )进行优化的一套网络协议。

2020-01-22

GB-T17626.2-2006电磁兼容_试验和测量技术_静电放电抗扰度试验.pdf

ESD测试的国家标准,测试方法和等级等,硬件开发,硬件测试相关人员可以学习使用,直接当作测试标准使用

2020-01-13

软件测试教程(华为培训专用)-第5章.ppt

本文档主要介绍了华为公司软件培训的教程,方便其他公司参考借鉴

2019-05-29

华为技术有限公司c语言编程规范.zip

0.2 代码总体原则 1、清晰第一 清晰性是易于维护、易于重构的程序必需具备的特征。 2、简洁为美 简洁就是易于理解并且易于实现。 3、选择合适的风格,与代码原有风格保持一致

2006-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除