将制表符分隔的剪贴板数据存储到 C# 中的对象列表

Store tab delimited clipboard data to list of objects in C#

我是 C# 的新手,但正在处理一个项目。任务是将一组值从一个应用程序复制到剪贴板,然后将这些值存储在 C# 中的对象列表中。我已经为复制数据中的列表示的每个字段创建了私有属性,但我不知道如何解析剪贴板中的数据并将其存储在每个 属性 中。希望这是有道理的。尽管进行了广泛的搜索,但我什至不知道从哪里开始。任何帮助将不胜感激。

正如 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" ...
        }

我最近在另一个项目中使用了它:http://joshclose.github.io/CsvHelper/ 尽管您本身并未使用 CSV,但您使用的是带分隔符的数据,它允许您指定分隔符。如果您将文本转换为 reader 类似于 post: In C#, how can I create a TextReader object from a string (without writing to disk) 的文本,它会在您映射后轻松地将数据传输到您选择的对象