当前位置: 代码迷 >> C# >> Clipboard.ContainsData()与 cdata.GetDataPresent()两个函数的差异是什么
  详细解决方案

Clipboard.ContainsData()与 cdata.GetDataPresent()两个函数的差异是什么

热度:551   发布时间:2016-05-05 05:23:32.0
Clipboard.ContainsData()与 cdata.GetDataPresent()两个函数的区别是什么?
我看到一开源项目中有一段判断剪贴板内存储数据是否是文本数据的代码,如下:

 if (Clipboard.ContainsData(DataFormats.Text))
            {
                IDataObject cdata;
                cdata = Clipboard.GetDataObject();
                if (cdata.GetDataPresent(DataFormats.Text))
                {
                    ///要执行语句
                }

很是不解,Clipboard.ContainsData(DataFormats.Text) 已经能够判断出剪贴板内是否文本数据,为什么还要将数据取出来,再利用if (cdata.GetDataPresent(DataFormats.Text))一句再重新判断呢?
还请哪位大侠来解释下

------解决思路----------------------
Clipboard.ContainsData

指示剪贴板中是否存在指定格式的数据,或可转换成此格式的数据。 

Clipboard.GetDataObject

检索当前位于系统剪贴板中的数据。 

DataObject.GetDataPresent

检索数据是否可以转换成指定的格式

根据csdn的解释,个人认为,可以省去Clipboard.ContainsData(DataFormats.Text)的判断

  相关解决方案