如何在阵列中执行每个数组执行任务?

时间:2016-05-24 23:53:18

标签: c# arrays udp

我正在使用以下名称之一获取数据: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,我的行动就会混乱。也许我需要为每个名字自动创建一个字符串?或者是否有一种雄辩的方式来操作第一个阵列上的数据......

1 个答案:

答案 0 :(得分:1)

你可以得到一个数组(字符串)数组,如下所示:

string[][] splitList = list.Split(';').Select(pair => pair.Split('-')).ToArray();

然后,您可以访问splitList[0][0]以获取AdamsplitList[0][1]BobsplitList[1][0]Cam等等。

所以你的循环变成了:

foreach (string[] pair in splitList)
{
    string firstPerson=pair[0];
    string secondPerson=pair[1];

    // ...