C# 返回上一步操作

这件事……相当复杂。

举个具体的例子,2 02 3 年我在一家叫上海的公司做了一些事情。
他们的系统只是记录URL,就像IE一样。
每次打开一个页面时,内存中都会存储一个URL,内存可能有几十个URL之多。
用起来很好,但是我很健忘,更新后就消失了。
代码量并不大,只有几百行C代码,大部分使用List存储。
要求简单,老板很满意。

2 02 1 年晚些时候,我在另一家叫北京的公司工作,问题更加严重。
那是为了数据恢复,比如PS历史记录。
用户已更改数据并单击“取消”以恢复数据。
这是有问题的,这与保存 URL 无关。
例如,第一个操作是查询数据库,找到并显示数据1 这个操作是一个查询,结果是一个数据集。
第二个操作是修改数据1 这个操作是更新,需要知道修改了什么。
第三个操作是查询数据库查找并显示数据2 这个操作又是一个查询。
要取消第二个操作,需要获取第一个查询结果并删除第二个更新操作。
这不能通过简单的 List 来完成。

那一刻我很困惑。
起初我想用List<object>将每个操作封装成一个对象并保存。
运营对象应该是什么?必须有某种类型的操作,是查询还是更新?还是得有一个操作时间,哪个先哪个后?还必须有运营数据。
查询返回什么以及更新改变什么?这个对象可以有成百上千个属性,代码量会立即增加。
几千行C代码,各种操作类,存储类,undo类,简直就是一个小工程。

后来我发现,也许是我太极端了。
一个操作对象太复杂了,可能会崩溃。
也许我应该简化它并将其分解为更小的单元。
例如,一个查询操作可以分解为两个单元:查询条件和查询结果。
更新操作可以分解为两个单元:更新前的数据和更新后的数据。
这样,每个单元都是一个简单的对象,可以用几百行代码创建。
然后把这些单位按顺序排列,取消的时候按顺序杀掉后面的单位。

这个想法可能更实用。
不过这个问题还是要看具体需求和具体场景。
有时简单是好的,有时复杂是好的。
不管怎样,代码没有绝对的好坏,只有适合不适合。

这是我的想法,不知道对你是否有用。
有兴趣的话可以加我QQ聊聊,哈哈。

idea怎么返回上一步操作

您可以通过以下方法返回IntelliJ IDEA中之前的操作:
基本操作:
撤消上一步:Windows/Linux:Ctrl+Z,macOS:Cmd+Z
恢复撤消操作:Windows/Linux:Ctrl+Y,macOS:Cmd+Y
高级恢复:
版本控制历史记录:视图 > 工具窗口 > 版本控制 > 历史记录
本地历史记录:VCS > LocalHistory > ShowHistory
建议操作:
简单撤消/重做:优先考虑键盘快捷键
查看操作详情:使用工具栏或菜单栏
误删除重要代码:使用版本控制或本地历史记录
注意:
撤消操作按堆栈顺序回滚
某些插件具有独立的撤消逻辑
使用版本控制管理代码进行团队协作
实用提醒:Ctrl+Z/Cmd+Z是首选,复杂情况使用版本控制。

navicat怎么返回上一步

呵呵,说到Navicat,这个东西我用了很多年了,对里面的细节还是有一点研究的。
说到这里,返回上一步的方法其实有两种,我给大家详细解释一下。

第一种方法是直接在工具栏中搜索,看到一个像左箭头一样的按钮。
那是“返回”按钮。
您只需单击即可返回到之前查看的页面或文件夹。
就像您之前在“对象”面板中查看“表格”列表,然后单击某个表格可以查看详细信息一样。
此时,您可以单击“返回”按钮返回到该“表格”列表。

第二种方法是使用快捷键。
按“Alt”键,然后按左箭头键。
该快捷键的效果与单击“返回”按钮相同。

这两种方法各有各的适用场景。
例如,如果您是新手,或者有时需要准确地单击某些内容,那么您使用第一种方法,即工具栏上的按钮。
如果你是老手,喜欢快节奏的操作,那么你可以使用第二种方法,快捷键,它可以帮助你提高效率。

这两个方法的功能是一致的。
它们都基于 Navicat 的浏览历史记录。
它们仅返回同一窗口中的上一页,不会影响其他独立窗口或连接。
例如,如果同时打开多个数据库连接窗口,如果在一个窗口中使用“后退”功能,则不会影响其他窗口。

但是,有一些特殊情况需要注意。
例如,如果通过“新建查询”等操作打开一个独立的窗口,例如SQL编辑器,那么“后退”按钮和快捷键将只对当前窗口生效,而无法返回到其他窗口的历史页面。
另外,在某些旧版本的 Navicat 中,如果浏览历史记录为空,例如直接打开一个表格,然后不执行任何其他操作,则按“后退”按钮或快捷键时,它可能不会响应。

例如,您连接到一个数据库,然后展开“表”节点,双击表“员工”查看数据,然后修改一条记录。
此时,如果您想返回“表格”列表页面,可以通过两种方式进行。
然而,如果你修改了数据并且没有保存,Navicat 会弹出一个提示框询问你是否要放弃更改。
这时需要确认返回操作。

一般情况下,我建议日常使用,可以先尝试一下快捷键“Alt”+“左箭头键”。
一旦你熟悉了它,你的效率就会更高。
如果快捷键不起作用,例如,如果您的键盘布局与我的不同,则可以使用工具栏上的按钮作为替代方案。
在复杂的操作过程中,你可以结合Navicat的“书签”功能,将常用的表格或查询添加为书签,这将使导航变得更加容易。