将冒号分隔的字符串转换为字典<string,string>

Jan*_*net 1 c# asp.net

我有一个字符串Number1.pdf:Alpha1.pdf; Number2.pdf:Alpha2.pdf; Number3.pdf:Alpha3.pdf;,我想将它转换为字典.

Ditionary<Number1,Alpha1> etc.
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了一些例子,我发现他们中的大多数都将Dictionary转换成了String.Can有人帮我吗?

Mar*_*zek 5

我会选择LINQ:

var input = "Number1.pdf:Alpha1.pdf; Number2.pdf:Alpha2.pdf; Number3.pdf:Alpha3.pdf;";

var items = input.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
var result = items.Select(x => x.Split(':'))
                  .ToDictionary(x => x[0].Split('.').First().Trim(),
                                x => x[1].Split('.').First().Trim());
Run Code Online (Sandbox Code Playgroud)

它将.pdf在键和值的末尾跳过(如上所述).

foreach (var i in result)
    Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)

版画

[Number1, Alpha1]
[Number2, Alpha2]
[Number3, Alpha3]
Run Code Online (Sandbox Code Playgroud)