gpt4 book ai didi

c# - 需要解释为什么 Clipboard.SetText ("") 不等于 Clipboard.Clear()

转载 作者:行者123 更新时间:2023-11-30 16:59:57 31 4
gpt4 key购买 nike

我路过一篇关于 Microsoft 的 Clipboard.SetText() 方法的文章: Clipboard.SetText Method (String)

而且我意识到如果字符串为空 (""),它会抛出异常。

为什么会这样?为什么它不等于 Clipboard.clear() 而不是?

我只是好奇。

最佳答案

与许多方法一样,它取决于实现。

在这种情况下,它的实现很差。正如您的文档链接中所述,我个人认为在提供不是 null 的值时抛出 ArgumentNullException 是不明智的。

但是,在剪贴板中存储一个空字符串是没有意义的,所以大概检查是为了阻止这种情况发生并让每个人的生活更轻松。

假设使用标准 Windows API 调用剪贴板,如果提供的值为 NULL,实际实现会导致不同的行为,因为这意味着当您“粘贴”或检索内容时将访问该值。

由于剪贴板可以根据剪贴板中指定的类型执行数据转换,理论上可能存在将空字符串解释为 NULL 或相反的问题。

这是猜测,因为文档中没有关于此的任何详细信息。你必须测试它看看会发生什么。在 SetClipboardData function 中可以找到一些有趣的信息(MSDN)。

关于c# - 需要解释为什么 Clipboard.SetText ("") 不等于 Clipboard.Clear(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22992877/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com