我正在使用以下名称之一获取数据:Adam,Bob,Cam,Dan,Earl或Fred。
我只想让某些对彼此操作。现在我有了字符串:
string list="Adam-Bob;Cam-Dan;Earl-Fred";
然后我通过分号
分割它们string[] splitList=list.Split(';');
现在我有一对数组
Adam-Bob Cam-Dan Earl-Fred
[0] [1] [2]
理想情况下,我想对每个操作执行操作,但我发现我只能执行以下操作: 通过','
拆分foreach (string s in splitList)
{
string firstPerson=splitList[0];
string secondPerson=splitLilst[1];
if (UDPoutputData.Contains(firstPerson)==true)
{
//record data into string for firstPerson
}
if (UDPoutputData.Contains(seoncdPerson)==true)
{
//record data into string for secondPerson
}
//if I have data for firstPerson AND secondPerson, perform operation and give me the output
}
不幸的是,如果我得到亚当的名字,接着是Cam,我的行动就会混乱。也许我需要为每个名字自动创建一个字符串?或者是否有一种雄辩的方式来操作第一个阵列上的数据......
答案 0 :(得分:1)
你可以得到一个数组(字符串)数组,如下所示:
string[][] splitList = list.Split(';').Select(pair => pair.Split('-')).ToArray();
然后,您可以访问splitList[0][0]
以获取Adam
,splitList[0][1]
将Bob
,splitList[1][0]
将Cam
等等。
所以你的循环变成了:
foreach (string[] pair in splitList)
{
string firstPerson=pair[0];
string secondPerson=pair[1];
// ...