C#字符串对进入元组列表

时间:2019-03-13 13:20:06

标签: c#

我正在寻找一种最有效的方式来获取像下面的示例这样的字符串并将其拉入Tuple<uint, uint>的列表中。

<0,15><1,16><2,17><3,18>

这是我到目前为止将两对分开的东西:

string s = "<0,15><1,16><2,17><3,18>";
string[] delimiters = { "<", ">" };
List<Tuple<uint, uint>> taglist = new List<Tuple<uint, uint>>();
string[] res = s.Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
System.Console.WriteLine(res.Length);

foreach (string pairs in res)
{
     System.Console.WriteLine(pairs);
}

接下来我要做的是将它们转换为uint,以添加到元组列表中,类似这样,但是还不完全是...。

uint[] pair = pairs.Split(",");
taglist.Add(new Tuple<uint, uint>(pair[0], pair[1]));

1 个答案:

答案 0 :(得分:-1)

我认为以下是一种可能的解决方案:

string s = "<0,15><1,16><2,17><3,18>";
string[] delimiters = { "<", ">" };
List<Tuple<uint, uint>> taglist = new List<Tuple<uint, uint>>();
string[] res = s.Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries);
System.Console.WriteLine(res.Length);

foreach (string pairs in res)
{
    System.Console.WriteLine(pairs);
    string[] delim = { "," };
    string[] pair = pairs.Split(delim, System.StringSplitOptions.RemoveEmptyEntries);
    taglist.Add(new Tuple<uint, uint>(UInt32.Parse(pair[0]), UInt32.Parse(pair[1])));
}

foreach (Tuple<uint,uint> elem in taglist)
{
    Console.WriteLine(elem);
}