我是C#的新手,但我正在开展一个工作项目。任务是将值数组从一个应用程序复制到剪贴板,然后将这些值存储在C#中的对象列表中。我已经为复制数据中的列表示的每个字段创建了私有属性,但我无法弄清楚如何从剪贴板解析数据并将其存储在每个属性中。希望这是有道理的。尽管进行了广泛的搜索,我甚至无法确定从哪里开始。任何帮助将不胜感激。
答案 0 :(得分:2)
正如Jack A.在评论中所建议的那样,使用String.Split()。
像...一样的东西。
if (Clipboard.ContainsText())
{
string str = Clipboard.GetText();
string[] values = str.Split("\t".ToCharArray());
// ... do something with "values" ...
xxx.aaa = values[0];
xxx.bbb = values[1];
xxx.ccc = values[2];
// etc...
}
else
{
MessageBox.Show("No Text in the Clipboard!");
}
但是,您应该检查以确保在拆分后存在正确的列数:
if (values.Length == 5)
{
// ... do something with "values" ...
}
答案 1 :(得分:0)
我最近在另一个项目中使用了这个:http://joshclose.github.io/CsvHelper/ 虽然您本身并未使用CSV,但您使用的是分隔数据,它允许您指定分隔符。如果您将文本转换为与此帖子类似的文本阅读器:In C#, how can I create a TextReader object from a string (without writing to disk),一旦您映射了数据,它就会轻松地将数据传输到您选择的对象